From a0938d62f3c3f573a4c12f01391462b4840582c8 Mon Sep 17 00:00:00 2001 From: FrHun <28605587+frhun@users.noreply.github.com> Date: Mon, 4 Jul 2022 05:34:59 +0200 Subject: [PATCH] LibGUI: Avoid some unneeded relayouts from layout relevant changes --- Userland/Libraries/LibGUI/Widget.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Userland/Libraries/LibGUI/Widget.cpp b/Userland/Libraries/LibGUI/Widget.cpp index 9dc15cc4d5..7d367f4c21 100644 --- a/Userland/Libraries/LibGUI/Widget.cpp +++ b/Userland/Libraries/LibGUI/Widget.cpp @@ -201,10 +201,12 @@ Widget::~Widget() = default; void Widget::layout_relevant_change_occured() { - if (auto* parent = parent_widget()) - parent->layout_relevant_change_occured(); - else - invalidate_layout(); + if (is_visible()) { + if (auto* parent = parent_widget()) + parent->layout_relevant_change_occured(); + else if (window()) + window()->schedule_relayout(); + } } void Widget::child_event(Core::ChildEvent& event)