aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcorvid <corvid@lavabit.com>2011-01-23 23:46:03 +0000
committercorvid <corvid@lavabit.com>2011-01-23 23:46:03 +0000
commitd77e357bb0449d5347877f201d0045848880cab7 (patch)
tree0436ca346d72d9838742403470a25bcef9149daf
parent0996de0d697c3b5baface97f05b18353f7f30d64 (diff)
don't let complex button destroy flat view
-rw-r--r--dw/fltkcomplexbutton.cc7
-rw-r--r--dw/fltkcomplexbutton.hh1
2 files changed, 8 insertions, 0 deletions
diff --git a/dw/fltkcomplexbutton.cc b/dw/fltkcomplexbutton.cc
index 3ef50238..e1427a9e 100644
--- a/dw/fltkcomplexbutton.cc
+++ b/dw/fltkcomplexbutton.cc
@@ -176,3 +176,10 @@ ComplexButton::ComplexButton(int X, int Y, int W, int H, const char *L)
set_flag(SHORTCUT_LABEL);
}
+ComplexButton::~ComplexButton() {
+ /*
+ * The Fl_Group destructor clear()s the children, but layout expects
+ * the flat view to be around until it deletes if.
+ */
+ remove(0);
+}
diff --git a/dw/fltkcomplexbutton.hh b/dw/fltkcomplexbutton.hh
index 6e29b6c2..6266694a 100644
--- a/dw/fltkcomplexbutton.hh
+++ b/dw/fltkcomplexbutton.hh
@@ -57,6 +57,7 @@ public:
virtual int handle(int);
ComplexButton(int X, int Y, int W, int H, const char *L = 0);
+ ~ComplexButton();
int value(int v);