From cd740a547471f080cd60f44c85ce4c7112e42d1b Mon Sep 17 00:00:00 2001 From: Nicola Mettifogo Date: Mon, 10 Dec 2007 18:59:18 +0000 Subject: When renaming a savefile, close the old file before deleting it to avoid errors. svn-id: r29818 --- backends/saves/savefile.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/backends/saves/savefile.cpp b/backends/saves/savefile.cpp index 8466130151..59ad144159 100644 --- a/backends/saves/savefile.cpp +++ b/backends/saves/savefile.cpp @@ -51,7 +51,11 @@ bool SaveFileManager::renameSavefile(const char *oldFilename, const char *newFil if (buffer && outFile) { inFile->read(buffer, size); - if (!inFile->ioFailed()) { + bool error = inFile->ioFailed(); + delete inFile; + inFile = 0; + + if (!error) { outFile->write(buffer, size); outFile->finalize(); if (!outFile->ioFailed()) { @@ -59,7 +63,7 @@ bool SaveFileManager::renameSavefile(const char *oldFilename, const char *newFil } } } - + free(buffer); delete outFile; delete inFile; -- cgit v1.2.3