Browse Source

Check for global script class information before clearing it

(cherry picked from commit 1ca501d7d4e6810361c0809062b570ed4702d0c8)
Aaron Franke 4 years ago
parent
commit
b2897f1f7b
2 changed files with 6 additions and 2 deletions
  1. 3 1
      core/script_language.cpp
  2. 3 1
      editor/editor_data.cpp

+ 3 - 1
core/script_language.cpp

@@ -277,7 +277,9 @@ void ScriptServer::save_global_classes() {
 	}
 
 	if (gcarr.empty()) {
-		ProjectSettings::get_singleton()->clear("_global_script_classes");
+		if (ProjectSettings::get_singleton()->has_setting("_global_script_classes")) {
+			ProjectSettings::get_singleton()->clear("_global_script_classes");
+		}
 	} else {
 		ProjectSettings::get_singleton()->set("_global_script_classes", gcarr);
 	}

+ 3 - 1
editor/editor_data.cpp

@@ -966,7 +966,9 @@ void EditorData::script_class_save_icon_paths() {
 	}
 
 	if (d.empty()) {
-		ProjectSettings::get_singleton()->clear("_global_script_class_icons");
+		if (ProjectSettings::get_singleton()->has_setting("_global_script_class_icons")) {
+			ProjectSettings::get_singleton()->clear("_global_script_class_icons");
+		}
 	} else {
 		ProjectSettings::get_singleton()->set("_global_script_class_icons", d);
 	}