Author: spitzak
Date: 2008-11-09 14:05:48 -0800 (Sun, 09 Nov 2008)
New Revision: 6507
Log:
Fix for STR#2084
Removing widgets did not cause a redraw.


Modified:
   trunk/src/Group.cxx

Modified: trunk/src/Group.cxx
===================================================================
--- trunk/src/Group.cxx 2008-11-09 21:23:30 UTC (rev 6506)
+++ trunk/src/Group.cxx 2008-11-09 22:05:48 UTC (rev 6507)
@@ -206,10 +206,15 @@
 void Group::remove(int index) {
   if (index >= children_) return;
   Widget* o = array_[index];
+  // we must redraw the enclosing group that has an opaque box:
+  if (o->visible_r())
+    for (Widget *p = this; p; p = p->parent())
+      if (p->box() != NO_BOX || !p->parent()) {p->redraw(); break;}
   o->parent(0);
   children_--;
   for (int i=index; i < children_; ++i) array_[i] = array_[i+1];
   init_sizes();
+  redraw();
 }
 
 /*! \fn void Group::remove(Widget& widget)

_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit

Reply via email to