aboutsummaryrefslogtreecommitdiff
path: root/src/FbTk
diff options
context:
space:
mode:
authorMathias Gumz <akira at fluxbox dot org>2010-09-14 14:54:08 (GMT)
committerMathias Gumz <akira at fluxbox dot org>2010-09-14 14:54:08 (GMT)
commit75b9a4ed72f89fd74117a1e44eae98702849af57 (patch)
tree3488bec94fa5398ebdd95e5388191291f3a590f5 /src/FbTk
parent36893ac7f98f8e84e9e97e641a0d598f28ea19b5 (diff)
downloadfluxbox_pavel-75b9a4ed72f89fd74117a1e44eae98702849af57.zip
fluxbox_pavel-75b9a4ed72f89fd74117a1e44eae98702849af57.tar.bz2
bugfix: free the shape-corners on the last used 'Shape'
the global 's_corners' vector was still used on an application shutdown (including ctrl-c SIGINT). depending on when 's_corners' was created on the stack this could lead to an exception ('pure virtual called') while trying to free the 'FbPixmaps' without having a valid 'FbTk::Application::instance()' left.
Diffstat (limited to 'src/FbTk')
-rw-r--r--src/FbTk/Shape.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/FbTk/Shape.cc b/src/FbTk/Shape.cc
index c0489ec..3d41886 100644
--- a/src/FbTk/Shape.cc
+++ b/src/FbTk/Shape.cc
@@ -134,7 +134,7 @@ void initCorners(FbWindow& win) {
134 134
135void cleanCorners() { 135void cleanCorners() {
136 136
137 if (nr_shapes == 0) { 137 if (nr_shapes == 1) {
138 s_corners.clear(); 138 s_corners.clear();
139 } else { 139 } else {
140 nr_shapes--; // refcounting 140 nr_shapes--; // refcounting