From 6784e1e9fa1340d9040909f3d775d24d2bfc214d Mon Sep 17 00:00:00 2001 From: Enzo Novoselic <41305715+StarryWorm@users.noreply.github.com> Date: Tue, 14 Apr 2026 19:37:42 -0400 Subject: [PATCH] Fix crash due to missing guards --- scene/gui/control.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp index 986cdc2b9e..c9948f72b1 100644 --- a/scene/gui/control.cpp +++ b/scene/gui/control.cpp @@ -1745,9 +1745,6 @@ void Control::update_maximum_size() { } } - // Keep minimum size propagation in sync so parent containers can relayout correctly. - callable_mp(this, &Control::_update_minimum_size).call_deferred(); - if (!is_visible_in_tree()) { // Invalidate the last maximum size so it will update when made visible. data.last_maximum_size = Size2(-1, -1); @@ -1759,6 +1756,12 @@ void Control::update_maximum_size() { } data.updating_last_maximum_size = true; + // Keep minimum size propagation in sync so parent containers can relayout correctly. + if (!data.updating_last_minimum_size) { + data.updating_last_minimum_size = true; + callable_mp(this, &Control::_update_minimum_size).call_deferred(); + } + callable_mp(this, &Control::_update_maximum_size).call_deferred(); }