summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2020-07-27 16:16:20 +0200
committerGitHub <noreply@github.com>2020-07-27 16:16:20 +0200
commit94e6fcd2aa5a3247763c126033012b36bf94add0 (patch)
treed0b28b60298f8333de28e1c26d7df724ae0ab2db
parent303515981b06a2afd86cfcac53aaebe6c176698c (diff)
parente016859c3b4a324ece0023c34faf9cfe9d729e21 (diff)
Merge pull request #40756 from akien-mga/no-dominion-outside-borders
Script editor: Fix crash when root script is null
-rw-r--r--editor/plugins/script_editor_plugin.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/editor/plugins/script_editor_plugin.cpp b/editor/plugins/script_editor_plugin.cpp
index edce2023ff..6c7f4eb908 100644
--- a/editor/plugins/script_editor_plugin.cpp
+++ b/editor/plugins/script_editor_plugin.cpp
@@ -2094,12 +2094,12 @@ bool ScriptEditor::edit(const RES &p_resource, int p_line, int p_col, bool p_gra
// 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") ||
- script->get_language()->overrides_external_editor();
+ (script.is_valid() && 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();
- if (script != nullptr && script->get_language()->overrides_external_editor()) {
+ if (script.is_valid() && script->get_language()->overrides_external_editor()) {
if (should_open) {
Error err = script->get_language()->open_in_external_editor(script, p_line >= 0 ? p_line : 0, p_col);
if (err != OK) {
@@ -3005,7 +3005,7 @@ 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") ||
- p_script->get_language()->overrides_external_editor();
+ (p_script.is_valid() && 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()) {