From 0ba37abfdb93e248193c9a6434c9ba946c92868b Mon Sep 17 00:00:00 2001 From: "fires.gc" Date: Thu, 18 Sep 2008 08:52:07 +0000 Subject: [PATCH] improvements for compressing and decompressing git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@574 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/DiscIO/Src/CompressedBlob.cpp | 4 +++- Source/Core/DolphinWX/Src/GameListCtrl.cpp | 9 ++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Source/Core/DiscIO/Src/CompressedBlob.cpp b/Source/Core/DiscIO/Src/CompressedBlob.cpp index f5ca3c3b2c..41194b537f 100644 --- a/Source/Core/DiscIO/Src/CompressedBlob.cpp +++ b/Source/Core/DiscIO/Src/CompressedBlob.cpp @@ -309,7 +309,6 @@ bool DecompressBlobToFile(const char* infile, const char* outfile, CompressCB ca fwrite(buffer, header.block_size, 1, f); } - delete reader; delete[] buffer; #ifdef _WIN32 @@ -320,6 +319,9 @@ bool DecompressBlobToFile(const char* infile, const char* outfile, CompressCB ca ftruncate(fileno(f), header.data_size); #endif fclose(f); + + delete reader; + return true; } diff --git a/Source/Core/DolphinWX/Src/GameListCtrl.cpp b/Source/Core/DolphinWX/Src/GameListCtrl.cpp index 2715f3b4bc..86d124d6e9 100644 --- a/Source/Core/DolphinWX/Src/GameListCtrl.cpp +++ b/Source/Core/DolphinWX/Src/GameListCtrl.cpp @@ -548,14 +548,17 @@ void CGameListCtrl::OnCompressGCM(wxCommandEvent& WXUNUSED (event)) { wxString path; + std::string FileName; + SplitPath(iso->GetFileName(), NULL, &FileName, NULL); + if (iso->IsCompressed()) { path = wxFileSelector( _T("Save decompressed ISO"), - wxEmptyString, wxEmptyString, wxEmptyString, + wxEmptyString, FileName.c_str(), wxEmptyString, wxString::Format ( - _T("All GC/Wii ISO files (gcz)|*.gcz|All files (%s)|%s"), + _T("All GC/Wii ISO files (gcm)|*.gcm|All files (%s)|%s"), wxFileSelectorDefaultWildcardStr, wxFileSelectorDefaultWildcardStr ), @@ -571,7 +574,7 @@ void CGameListCtrl::OnCompressGCM(wxCommandEvent& WXUNUSED (event)) { { path = wxFileSelector( _T("Save compressed ISO"), - wxEmptyString, wxEmptyString, wxEmptyString, + wxEmptyString, FileName.c_str(), wxEmptyString, wxString::Format ( _T("All compressed GC/Wii ISO files (gcz)|*.gcz|All files (%s)|%s"),