diff options
Diffstat (limited to 'src/ui/widget.cc')
-rw-r--r-- | src/ui/widget.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/ui/widget.cc b/src/ui/widget.cc index e17e5ab..1ecfcc8 100644 --- a/src/ui/widget.cc +++ b/src/ui/widget.cc @@ -223,7 +223,9 @@ void Widget::remove_child(Widget *child) { Children::iterator it = find_child(child); if (it != widget_children.end()) { - delete(*it); + Widget *w = (*it); + w->widget_parent = 0; + delete(w); widget_children.erase(it); } } @@ -323,10 +325,10 @@ void Widget::event_draw() void Widget::event_resize() { - resize(); for (Children::iterator it = widget_children.begin(); it != widget_children.end(); it++) { (*it)->event_resize(); } + resize(); } /* -- event handlers ----------------------------------------------- */ |