Browse Source

Merge pull request #90664 from KoBeWi/shadowdropped_resource

Prevent crash when dropping Resource that can't load
Rémi Verschelde 1 year ago
parent
commit
aa147b74ea
1 changed files with 5 additions and 0 deletions
  1. 5 0
      editor/plugins/script_text_editor.cpp

+ 5 - 0
editor/plugins/script_text_editor.cpp

@@ -1869,6 +1869,11 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data
 
 			if (drop_modifier_pressed && ResourceLoader::exists(path)) {
 				Ref<Resource> resource = ResourceLoader::load(path);
+				if (resource.is_null()) {
+					// Resource exists, but failed to load. We need only path and name, so we can use a dummy Resource instead.
+					resource.instantiate();
+					resource->set_path_cache(path);
+				}
 				text_to_drop += _get_dropped_resource_line(resource, is_empty_line);
 			} else {
 				text_to_drop += _quote_drop_data(path);