From 568f189ea5a850a9259c8c89ba5f28a0630a2ce0 Mon Sep 17 00:00:00 2001 From: Ladislav Zezula Date: Fri, 14 Mar 2014 10:17:34 +0100 Subject: + Improved key detection for archives with large sector sizes --- src/SFileOpenArchive.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/SFileOpenArchive.cpp') diff --git a/src/SFileOpenArchive.cpp b/src/SFileOpenArchive.cpp index ceb4ce1..0ca51c0 100644 --- a/src/SFileOpenArchive.cpp +++ b/src/SFileOpenArchive.cpp @@ -413,7 +413,7 @@ bool WINAPI SFileOpenArchive( if(nError != ERROR_SUCCESS) { FileStream_Close(pStream); - FreeMPQArchive(ha); + FreeArchiveHandle(ha); SetLastError(nError); ha = NULL; } @@ -509,11 +509,16 @@ bool WINAPI SFileCloseArchive(HANDLE hMpq) TMPQArchive * ha = (TMPQArchive *)hMpq; bool bResult; + // Invalidate the add file callback so it won't be called + // when saving (listfile) and (attributes) + ha->pfnAddFileCB = NULL; + ha->pvAddFileUserData = NULL; + // Flush all unsaved data to the storage bResult = SFileFlushArchive(hMpq); // Free all memory used by MPQ archive - FreeMPQArchive(ha); + FreeArchiveHandle(ha); return bResult; } -- cgit v1.2.3