diff options
| author | Paulb23 <p_batty@hotmail.co.uk> | 2019-04-23 20:52:30 +0100 | 
|---|---|---|
| committer | Paulb23 <p_batty@hotmail.co.uk> | 2019-04-23 20:52:30 +0100 | 
| commit | 2fedd2559c405c57c224be035e739af8c1fc6810 (patch) | |
| tree | 9a72dababd462ad0ce55bbfe92f727424b86b1fd | |
| parent | f2c26098a927f49d7ceeda44b94349c1ba64ebf1 (diff) | |
Fix crash when restoring script editor state
| -rw-r--r-- | editor/plugins/script_editor_plugin.cpp | 14 | 
1 files changed, 10 insertions, 4 deletions
diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index 5d81ade214..03287b8cf9 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -2507,19 +2507,25 @@ void ScriptEditor::set_window_layout(Ref<ConfigFile> p_layout) {  			if (!scr.is_valid()) {  				continue;  			} -			edit(scr); +			if (!edit(scr)) { +				continue; +			}  		} else {  			Error error;  			Ref<TextFile> text_file = _load_text_file(path, &error);  			if (error != OK || !text_file.is_valid()) {  				continue;  			} -			edit(text_file); +			if (!edit(text_file)) { +				continue; +			}  		}  		if (!script_info.empty()) { -			ScriptEditorBase *se = Object::cast_to<ScriptEditorBase>(tab_container->get_child(i)); -			se->set_edit_state(script_info["state"]); +			ScriptEditorBase *se = Object::cast_to<ScriptEditorBase>(tab_container->get_child(tab_container->get_tab_count() - 1)); +			if (se) { +				se->set_edit_state(script_info["state"]); +			}  		}  	}  |