diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2017-07-23 13:09:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-23 13:09:47 +0200 |
commit | 50ab88bf15ad93676262cf31ee05bb815f5a6a8e (patch) | |
tree | b1d39e23fc4419f027294e0d1e6dacd04d2420bc /editor/plugins | |
parent | 5fbe4c130ddc851b4fa116d6b462e3fc00b36e9c (diff) | |
parent | 843589d9d1fecd5a0345cd08464a565c5eb9415b (diff) |
Merge pull request #9761 from Noshyaar/pr-fix
ScriptEditor: suppress get_child errors
Diffstat (limited to 'editor/plugins')
-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 c90d66f914..f45882926a 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) { |