X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Feditor%2Fg_resources.pas;h=880b7275ed6ded678f95139c45db3fb15cc44dcd;hb=7e9341416173d0324e03b6e2f808dcc66ca0f771;hp=6a5dbeedd227e3c8da2cc61bd07e6828342b6028;hpb=5fd28f40b978042653b18006bd33ff5c93152518;p=d2df-editor.git diff --git a/src/editor/g_resources.pas b/src/editor/g_resources.pas index 6a5dbee..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; @@ -251,6 +263,7 @@ implementation begin len := stream.Size; GetMem(data, len); + ASSERT(data <> nil); //stream.ReadBuffer(data, len); (* leads to segfault *) for i := 0 to len - 1 do data[i] := stream.ReadByte(); @@ -284,6 +297,7 @@ implementation begin len := stream1.Size; GetMem(data, len); + ASSERT(data <> nil); //stream1.ReadBuffer(data, len); (* leads to segfault *) for i := 0 to len - 1 do data[i] := stream1.ReadByte();