From 7e9341416173d0324e03b6e2f808dcc66ca0f771 Mon Sep 17 00:00:00 2001 From: DeaDDooMER Date: Sat, 5 Jan 2019 21:07:50 +0300 Subject: [PATCH] fix file rewrite on win32 --- src/editor/g_resources.pas | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/editor/g_resources.pas b/src/editor/g_resources.pas index 4d636ee..880b727 100644 --- a/src/editor/g_resources.pas +++ b/src/editor/g_resources.pas @@ -52,7 +52,11 @@ implementation f.RemoveResource(section, name); f.AddResource(data, len, name, section); if FileExists(wad) then - ASSERT(RenameFile(wad, wad + '.bak')); + begin + if FileExists(wad + '.bak') then + ASSERT(DeleteFile(wad + '.bak')); + ASSERT(RenameFile(wad, wad + '.bak')) + end; f.SaveTo(wad); f.Free; res := 0 @@ -115,7 +119,11 @@ implementation ts.Free; if FileExists(wad) then - ASSERT(RenameFile(wad, wad + '.bak')); + begin + if FileExists(wad + '.bak') then + ASSERT(DeleteFile(wad + '.bak')); + ASSERT(RenameFile(wad, wad + '.bak')) + end; ASSERT(RenameFile(tmp, wad)); res := 0 end; @@ -201,7 +209,11 @@ implementation ts.Free; if FileExists(wad) then - ASSERT(RenameFile(wad, wad + '.bak')); + begin + if FileExists(wad + '.bak') then + ASSERT(DeleteFile(wad + '.bak')); + ASSERT(RenameFile(wad, wad + '.bak')) + end; ASSERT(RenameFile(tmp, wad)); res := 0 end; -- 2.29.2