diff options
author | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2022-04-12 10:12:40 +0300 |
---|---|---|
committer | bruvzg <7645683+bruvzg@users.noreply.github.com> | 2022-04-12 10:54:39 +0300 |
commit | 4bf99f4af2c4918883c4382ead7de275fae21eea (patch) | |
tree | e741cea7e9395dcffeaa986f34e19819564356fb /editor/editor_export.cpp | |
parent | 5974e1432ef7941a5e29f8723dec85aa45505963 (diff) | |
download | redot-engine-4bf99f4af2c4918883c4382ead7de275fae21eea.tar.gz |
Narrow FileAccess scope to prevent deadlocks.
Diffstat (limited to 'editor/editor_export.cpp')
-rw-r--r-- | editor/editor_export.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp index 40b850cace..a822c5fb5f 100644 --- a/editor/editor_export.cpp +++ b/editor/editor_export.cpp @@ -1142,6 +1142,10 @@ Error EditorExportPlatform::save_pack(const Ref<EditorExportPreset> &p_preset, b Error err = export_project_files(p_preset, p_debug, _save_pack_file, &pd, _add_shared_object); + // Close temp file. + pd.f.unref(); + ftmp.unref(); + if (err != OK) { DirAccess::remove_file_or_error(tmppath); ERR_PRINT("Failed to export project files"); @@ -1301,6 +1305,8 @@ Error EditorExportPlatform::save_pack(const Ref<EditorExportPreset> &p_preset, b f->store_buffer(buf, got); } + ftmp.unref(); // Close temp file. + if (p_embed) { // Ensure embedded data ends at a 64-bit multiple uint64_t embed_end = f->get_position() - embed_pos + 12; |