summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2017-12-11 13:02:53 +0100
committerGitHub <noreply@github.com>2017-12-11 13:02:53 +0100
commit1401b07d328101e11bfd11ad390ace9eff059ee8 (patch)
tree3912101a983d940a3eaf0a04fa4965f49e1804e1
parentdfb3634c3462adb3d9f0bf1e2e7b4261c3313b80 (diff)
parent79de82f7d0c3d3b506bc459986e295d4545e790e (diff)
Merge pull request #14548 from volzhs/fix-out-of-size
Fix Index p_current=0 error at starting editor
-rw-r--r--scene/gui/tab_container.cpp11
-rw-r--r--scene/gui/tab_container.h1
2 files changed, 9 insertions, 3 deletions
diff --git a/scene/gui/tab_container.cpp b/scene/gui/tab_container.cpp
index 581034ddee..f2a2d862de 100644
--- a/scene/gui/tab_container.cpp
+++ b/scene/gui/tab_container.cpp
@@ -294,13 +294,17 @@ void TabContainer::_notification(int p_what) {
}
} break;
case NOTIFICATION_THEME_CHANGED: {
- if (get_tab_count() > 0) {
- call_deferred("set_current_tab", get_current_tab()); //wait until all changed theme
- }
+ call_deferred("_on_theme_changed"); //wait until all changed theme
} break;
}
}
+void TabContainer::_on_theme_changed() {
+ if (get_tab_count() > 0) {
+ set_current_tab(get_current_tab());
+ }
+}
+
int TabContainer::_get_tab_width(int p_index) const {
ERR_FAIL_INDEX_V(p_index, get_tab_count(), 0);
@@ -658,6 +662,7 @@ void TabContainer::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_popup"), &TabContainer::get_popup);
ClassDB::bind_method(D_METHOD("_child_renamed_callback"), &TabContainer::_child_renamed_callback);
+ ClassDB::bind_method(D_METHOD("_on_theme_changed"), &TabContainer::_on_theme_changed);
ADD_SIGNAL(MethodInfo("tab_changed", PropertyInfo(Variant::INT, "tab")));
ADD_SIGNAL(MethodInfo("tab_selected", PropertyInfo(Variant::INT, "tab")));
diff --git a/scene/gui/tab_container.h b/scene/gui/tab_container.h
index be59a16b3f..a36c4f3790 100644
--- a/scene/gui/tab_container.h
+++ b/scene/gui/tab_container.h
@@ -60,6 +60,7 @@ private:
Vector<Control *> _get_tabs() const;
int _get_tab_width(int p_index) const;
+ void _on_theme_changed();
protected:
void _child_renamed_callback();