diff options
| author | Rémi Verschelde | 2018-02-20 09:40:29 +0100 |
|---|---|---|
| committer | GitHub | 2018-02-20 09:40:29 +0100 |
| commit | 55f00d9655ca3f9ccfdcac2fba8081df9869ba16 (patch) | |
| tree | 3d10cd32dd58e5496819bc7087611b159c9c7a6e /scene/gui/tab_container.cpp | |
| parent | c62a6942dcdf3b1cbdafa3d858cf9694effeee98 (diff) | |
| parent | df84290a7ee2e4e939fc4eccc030129227c83895 (diff) | |
| download | godot-55f00d9655ca3f9ccfdcac2fba8081df9869ba16.tar.gz godot-55f00d9655ca3f9ccfdcac2fba8081df9869ba16.tar.zst godot-55f00d9655ca3f9ccfdcac2fba8081df9869ba16.zip | |
Diffstat (limited to 'scene/gui/tab_container.cpp')
| -rw-r--r-- | scene/gui/tab_container.cpp | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/scene/gui/tab_container.cpp b/scene/gui/tab_container.cpp index 0312e5809..6e85ce5eb 100644 --- a/scene/gui/tab_container.cpp +++ b/scene/gui/tab_container.cpp @@ -474,21 +474,24 @@ void TabContainer::remove_child_notify(Node *p_child) { Control::remove_child_notify(p_child); - int tc = get_tab_count(); - if (current == tc - 1) { - current--; - if (current < 0) - current = 0; - else { - call_deferred("set_current_tab", current); - } - } + call_deferred("_update_current_tab"); p_child->disconnect("renamed", this, "_child_renamed_callback"); update(); } +void TabContainer::_update_current_tab() { + + int tc = get_tab_count(); + if (current >= tc) + current = tc - 1; + if (current < 0) + current = 0; + else + set_current_tab(current); +} + void TabContainer::set_tab_align(TabAlign p_align) { ERR_FAIL_INDEX(p_align, 3); @@ -664,6 +667,7 @@ void TabContainer::_bind_methods() { ClassDB::bind_method(D_METHOD("_child_renamed_callback"), &TabContainer::_child_renamed_callback); ClassDB::bind_method(D_METHOD("_on_theme_changed"), &TabContainer::_on_theme_changed); + ClassDB::bind_method(D_METHOD("_update_current_tab"), &TabContainer::_update_current_tab); ADD_SIGNAL(MethodInfo("tab_changed", PropertyInfo(Variant::INT, "tab"))); ADD_SIGNAL(MethodInfo("tab_selected", PropertyInfo(Variant::INT, "tab"))); |
