Browse Source

Fix deleting properties after deleting files

qarmin 6 years ago
parent
commit
4cee053f7c
1 changed files with 16 additions and 2 deletions
  1. 16 2
      editor/dependency_editor.cpp

+ 16 - 2
editor/dependency_editor.cpp

@@ -496,14 +496,28 @@ void DependencyRemoveDialog::ok_pressed() {
 			res->set_path("");
 		}
 
-		// If the file we are deleting is the main scene or default environment, clear its definition.
+		// If the file we are deleting for e.g. the main scene or default environment, we must clear its definition in Project Settings.
+		if (files_to_delete[i] == ProjectSettings::get_singleton()->get("application/config/icon")) {
+			ProjectSettings::get_singleton()->set("application/config/icon", "");
+		}
 		if (files_to_delete[i] == ProjectSettings::get_singleton()->get("application/run/main_scene")) {
 			ProjectSettings::get_singleton()->set("application/run/main_scene", "");
 		}
-
+		if (files_to_delete[i] == ProjectSettings::get_singleton()->get("application/boot_splash/image")) {
+			ProjectSettings::get_singleton()->set("application/boot_splash/image", "");
+		}
 		if (files_to_delete[i] == ProjectSettings::get_singleton()->get("rendering/environment/default_environment")) {
 			ProjectSettings::get_singleton()->set("rendering/environment/default_environment", "");
 		}
+		if (files_to_delete[i] == ProjectSettings::get_singleton()->get("display/mouse_cursor/custom_image")) {
+			ProjectSettings::get_singleton()->set("display/mouse_cursor/custom_image", "");
+		}
+		if (files_to_delete[i] == ProjectSettings::get_singleton()->get("gui/theme/custom")) {
+			ProjectSettings::get_singleton()->set("gui/theme/custom", "");
+		}
+		if (files_to_delete[i] == ProjectSettings::get_singleton()->get("gui/theme/custom_font")) {
+			ProjectSettings::get_singleton()->set("gui/theme/custom_font", "");
+		}
 
 		String path = OS::get_singleton()->get_resource_dir() + files_to_delete[i].replace_first("res://", "/");
 		print_verbose("Moving to trash: " + path);