From abd894daf794828986b9450cf7d0ef50d37dab06 Mon Sep 17 00:00:00 2001 From: Tefatika <692720+Tefatika@users.noreply.github.com> Date: Sun, 30 Apr 2023 00:11:58 +0200 Subject: [PATCH] Fixed error messages when setting all_tab_in_front of TabContainer Some signal handlers weren't unregistered when removing the wrapped child TabBar, which resulted in errors printed when the TabBar was removed and added again when the flag was updated --- scene/gui/tab_container.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scene/gui/tab_container.cpp b/scene/gui/tab_container.cpp index 818e19ab29..1b148defc1 100644 --- a/scene/gui/tab_container.cpp +++ b/scene/gui/tab_container.cpp @@ -564,12 +564,12 @@ void TabContainer::add_child_notify(Node *p_child) { } void TabContainer::move_child_notify(Node *p_child) { + Container::move_child_notify(p_child); + if (p_child == tab_bar) { return; } - Container::move_child_notify(p_child); - Control *c = Object::cast_to(p_child); if (c && !c->is_set_as_top_level()) { int old_idx = -1; @@ -588,12 +588,12 @@ void TabContainer::move_child_notify(Node *p_child) { } void TabContainer::remove_child_notify(Node *p_child) { + Container::remove_child_notify(p_child); + if (p_child == tab_bar) { return; } - Container::remove_child_notify(p_child); - Control *c = Object::cast_to(p_child); if (!c || c->is_set_as_top_level()) { return;