aboutsummaryrefslogtreecommitdiff
path: root/src/zenutil/basicfile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/zenutil/basicfile.cpp')
-rw-r--r--src/zenutil/basicfile.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/zenutil/basicfile.cpp b/src/zenutil/basicfile.cpp
index 174125069..575d153b2 100644
--- a/src/zenutil/basicfile.cpp
+++ b/src/zenutil/basicfile.cpp
@@ -560,6 +560,13 @@ TemporaryFile::MoveTemporaryIntoPlace(std::filesystem::path FinalFileName, std::
BasicFile::Close();
std::filesystem::rename(m_TempPath, FinalFileName, Ec);
+
+ if (Ec)
+ {
+ // Try to re-open the temp file so we clean up after us when TemporaryFile is destructed
+ std::error_code DummyEc;
+ Open(m_TempPath, BasicFile::Mode::kWrite, DummyEc);
+ }
}
//////////////////////////////////////////////////////////////////////////