diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2020-07-27 10:29:22 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2020-07-27 10:30:03 +0200 |
commit | 6b3f013a82557624aac49b567f4a8139848aa40e (patch) | |
tree | 372cdb450f5a75d46fe7be128548f8a94ed59652 | |
parent | 6de86946eab625a173a0e425d8f53a9cfe9e44ae (diff) |
Script editor: Fix open dominant logic for language-specific external editors
Follow-up to #40735.
Co-authored-by: Ignacio Etcheverry <ignalfonsore@gmail.com>
-rw-r--r-- | editor/plugins/script_editor_plugin.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp index 713d57ee95..edce2023ff 100644 --- a/editor/plugins/script_editor_plugin.cpp +++ b/editor/plugins/script_editor_plugin.cpp @@ -2092,7 +2092,9 @@ bool ScriptEditor::edit(const RES &p_resource, int p_line, int p_col, bool p_gra Ref<Script> script = p_resource; // Don't open dominant script if using an external editor. - const bool use_external_editor = EditorSettings::get_singleton()->get("text_editor/external/use_external_editor"); + const bool use_external_editor = + EditorSettings::get_singleton()->get("text_editor/external/use_external_editor") || + script->get_language()->overrides_external_editor(); const bool open_dominant = EditorSettings::get_singleton()->get("text_editor/files/open_dominant_script_on_scene_change"); const bool should_open = (open_dominant && !use_external_editor) || !EditorNode::get_singleton()->is_changing_scene(); @@ -3001,7 +3003,9 @@ Array ScriptEditor::_get_open_script_editors() const { void ScriptEditor::set_scene_root_script(Ref<Script> p_script) { // Don't open dominant script if using an external editor. - const bool use_external_editor = EditorSettings::get_singleton()->get("text_editor/external/use_external_editor"); + const bool use_external_editor = + EditorSettings::get_singleton()->get("text_editor/external/use_external_editor") || + p_script->get_language()->overrides_external_editor(); const bool open_dominant = EditorSettings::get_singleton()->get("text_editor/files/open_dominant_script_on_scene_change"); if (open_dominant && !use_external_editor && p_script.is_valid()) { |