From 843589d9d1fecd5a0345cd08464a565c5eb9415b Mon Sep 17 00:00:00 2001 From: Poommetee Ketson Date: Sat, 22 Jul 2017 14:02:34 +0700 Subject: [PATCH] ScriptEditor: suppress get_child errors --- editor/plugins/script_editor_plugin.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index aeb16f13eeb..03e81f601de 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(); 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(); 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(); if (!se) {