Quellcode durchsuchen

Merge pull request #86177 from KoBeWi/depren_never_forgets

Fix file disappearing when renaming dependencies
Yuri Sizov vor 1 Jahr
Ursprung
Commit
df9be54b2f
2 geänderte Dateien mit 6 neuen und 4 gelöschten Zeilen
  1. 4 2
      core/io/resource_format_binary.cpp
  2. 2 2
      scene/resources/resource_format_text.cpp

+ 4 - 2
core/io/resource_format_binary.cpp

@@ -1454,8 +1454,10 @@ Error ResourceFormatLoaderBinary::rename_dependencies(const String &p_path, cons
 	fw.unref();
 
 	Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
-	da->remove(p_path);
-	da->rename(p_path + ".depren", p_path);
+	if (da->exists(p_path + ".depren")) {
+		da->remove(p_path);
+		da->rename(p_path + ".depren", p_path);
+	}
 	return OK;
 }
 

+ 2 - 2
scene/resources/resource_format_text.cpp

@@ -1790,8 +1790,8 @@ Error ResourceFormatLoaderText::rename_dependencies(const String &p_path, const
 		err = loader.rename_dependencies(f, p_path, p_map);
 	}
 
-	if (err == OK) {
-		Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
+	Ref<DirAccess> da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
+	if (err == OK && da->file_exists(p_path + ".depren")) {
 		da->remove(p_path);
 		da->rename(p_path + ".depren", p_path);
 	}