瀏覽代碼

GDExtension: Delete left-over DLL copy before making a new copy

David Snopek 2 年之前
父節點
當前提交
6554ccf86d
共有 1 個文件被更改,包括 5 次插入0 次删除
  1. 5 0
      core/extension/gdextension.cpp

+ 5 - 0
core/extension/gdextension.cpp

@@ -711,6 +711,11 @@ Ref<Resource> GDExtensionResourceLoader::load(const String &p_path, const String
 		// This is so relative path to dependencies are satisfied.
 		// This is so relative path to dependencies are satisfied.
 		String copy_path = abs_path.get_base_dir().path_join("~" + abs_path.get_file());
 		String copy_path = abs_path.get_base_dir().path_join("~" + abs_path.get_file());
 
 
+		// If there's a left-over copy (possibly from a crash) then delete it first.
+		if (FileAccess::exists(copy_path)) {
+			DirAccess::remove_absolute(copy_path);
+		}
+
 		Error copy_err = DirAccess::copy_absolute(abs_path, copy_path);
 		Error copy_err = DirAccess::copy_absolute(abs_path, copy_path);
 		if (copy_err) {
 		if (copy_err) {
 			if (r_error) {
 			if (r_error) {