diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2018-01-14 15:15:59 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-14 15:15:59 +0100 |
commit | f96f11c850827a16c9a498a059ad9bdf8666cf1f (patch) | |
tree | 914a31087db9284bba31e8061d70936a2b5269b9 | |
parent | 859ac6233d79a8e699de7f8cd2d16238d8887dfe (diff) | |
parent | 89057dd289a833e8dc089a06e715788dc6b3fbc1 (diff) |
Merge pull request #15699 from poke1024/fix15024
Fix external editors always opening on scene change
-rw-r--r-- | editor/plugins/script_editor_plugin.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index f99768400f..d18422c0c0 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -1672,10 +1672,14 @@ bool ScriptEditor::edit(const Ref<Script> &p_script, int p_line, int p_col, bool bool open_dominant = EditorSettings::get_singleton()->get("text_editor/files/open_dominant_script_on_scene_change"); + const bool should_open = open_dominant || !EditorNode::get_singleton()->is_changing_scene(); + if (p_script->get_language()->overrides_external_editor()) { - Error err = p_script->get_language()->open_in_external_editor(p_script, p_line >= 0 ? p_line : 0, p_col); - if (err != OK) - ERR_PRINT("Couldn't open script in the overridden external text editor"); + if (should_open) { + Error err = p_script->get_language()->open_in_external_editor(p_script, p_line >= 0 ? p_line : 0, p_col); + if (err != OK) + ERR_PRINT("Couldn't open script in the overridden external text editor"); + } return false; } @@ -1726,7 +1730,7 @@ bool ScriptEditor::edit(const Ref<Script> &p_script, int p_line, int p_col, bool if (se->get_edited_script() == p_script) { - if (open_dominant || !EditorNode::get_singleton()->is_changing_scene()) { + if (should_open) { if (tab_container->get_current_tab() != i) { _go_to_tab(i); script_list->select(script_list->find_metadata(i)); |