diff --git a/LibGUI/GWidget.cpp b/LibGUI/GWidget.cpp index 738d653828..764037870d 100644 --- a/LibGUI/GWidget.cpp +++ b/LibGUI/GWidget.cpp @@ -28,8 +28,12 @@ void GWidget::child_event(GChildEvent& event) layout()->add_widget(static_cast(*event.child())); } if (event.type() == GEvent::ChildRemoved) { - if (event.child() && event.child()->is_widget() && layout()) - layout()->remove_widget(static_cast(*event.child())); + if (layout()) { + if (event.child() && event.child()->is_widget()) + layout()->remove_widget(static_cast(*event.child())); + else + invalidate_layout(); + } } return GObject::child_event(event); }