summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkobewi <kobewi4e@gmail.com>2023-12-14 22:28:48 +0100
committerkobewi <kobewi4e@gmail.com>2023-12-14 22:28:48 +0100
commit397f0b31e4bd255e9f707a1d5d9ce2ac0b2ef409 (patch)
treea8249c0a589a4a15f6ac11f5bbf03d3be7a04a90
parentf8a2a9193662b2e8c1d04d65e647399dee94f31e (diff)
downloadredot-engine-397f0b31e4bd255e9f707a1d5d9ce2ac0b2ef409.tar.gz
Fix file disappearing when renaming dependencies
-rw-r--r--core/io/resource_format_binary.cpp6
-rw-r--r--scene/resources/resource_format_text.cpp4
2 files changed, 6 insertions, 4 deletions
diff --git a/core/io/resource_format_binary.cpp b/core/io/resource_format_binary.cpp
index 2a33f723dc..20c494516b 100644
--- a/core/io/resource_format_binary.cpp
+++ b/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;
}
diff --git a/scene/resources/resource_format_text.cpp b/scene/resources/resource_format_text.cpp
index 3dc920c4be..037cd32f10 100644
--- a/scene/resources/resource_format_text.cpp
+++ b/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);
}