diff options
author | Poommetee Ketson <poommetee@protonmail.com> | 2017-07-22 14:02:34 +0700 |
---|---|---|
committer | Poommetee Ketson <poommetee@protonmail.com> | 2017-07-22 14:02:34 +0700 |
commit | 843589d9d1fecd5a0345cd08464a565c5eb9415b (patch) | |
tree | 2655c623c3353629c0d7ecf12987c54fa531180b | |
parent | 0ed59fdf12a8c8b385163c70ace0cd659867c9b1 (diff) |
ScriptEditor: suppress get_child errors
-rw-r--r-- | editor/plugins/script_editor_plugin.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index aeb16f13ee..03e81f601d 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -32,13 +32,13 @@ #include "editor/editor_node.h" #include "editor/editor_settings.h" #include "editor/script_editor_debugger.h" -#include "project_settings.h" #include "io/resource_loader.h" #include "io/resource_saver.h" #include "os/file_access.h" #include "os/input.h" #include "os/keyboard.h" #include "os/os.h" +#include "project_settings.h" #include "scene/main/viewport.h" /*** SCRIPT EDITOR ****/ @@ -1316,7 +1316,8 @@ void ScriptEditor::ensure_focus_current() { int cidx = tab_container->get_current_tab(); if (cidx < 0 || cidx >= tab_container->get_tab_count()) - ; + return; + Control *c = tab_container->get_child(cidx)->cast_to<Control>(); if (!c) return; @@ -1406,6 +1407,11 @@ struct _ScriptEditorItemData { }; void ScriptEditor::_update_members_overview_visibility() { + + int selected = tab_container->get_current_tab(); + if (selected < 0 || selected >= tab_container->get_child_count()) + return; + Node *current = tab_container->get_child(tab_container->get_current_tab()); ScriptEditorBase *se = current->cast_to<ScriptEditorBase>(); if (!se) { @@ -1423,6 +1429,10 @@ void ScriptEditor::_update_members_overview_visibility() { void ScriptEditor::_update_members_overview() { members_overview->clear(); + int selected = tab_container->get_current_tab(); + if (selected < 0 || selected >= tab_container->get_child_count()) + return; + Node *current = tab_container->get_child(tab_container->get_current_tab()); ScriptEditorBase *se = current->cast_to<ScriptEditorBase>(); if (!se) { |