diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp index 1afd59e99c0..d081ee05a0a 100644 --- a/editor/editor_export.cpp +++ b/editor/editor_export.cpp @@ -1831,10 +1831,6 @@ List EditorExportPlatformPC::get_binary_extensions(const Ref &p_preset, bool p_debug, const String &p_path, int p_flags) { ExportNotifier notifier(*this, p_preset, p_debug, p_path, p_flags); - if (!DirAccess::exists(p_path.get_base_dir())) { - return ERR_FILE_BAD_PATH; - } - String custom_debug = p_preset->get("custom_template/debug"); String custom_release = p_preset->get("custom_template/release"); @@ -1863,9 +1859,9 @@ Error EditorExportPlatformPC::export_project(const Ref &p_pr return ERR_FILE_NOT_FOUND; } - DirAccess *da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM); + DirAccessRef da = DirAccess::create(DirAccess::ACCESS_FILESYSTEM); + da->make_dir_recursive(p_path.get_base_dir()); Error err = da->copy(template_path, p_path, get_chmod_flags()); - memdelete(da); if (err == OK) { String pck_path; @@ -1901,7 +1897,6 @@ Error EditorExportPlatformPC::export_project(const Ref &p_pr err = sign_shared_object(p_preset, p_debug, p_path.get_base_dir().plus_file(so_files[i].path.get_file())); } } - memdelete(da); } }