From: Vadim Zeitlin Date: Tue, 11 Aug 2009 18:16:39 +0000 (+0000) Subject: Create compressed debug report file outside of temporary directory. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/b78df8565cd3ffe87a7ef376e1121f08d219ba2d Create compressed debug report file outside of temporary directory. Otherwise the compressed file is deleted when the temporary directory is (it doesn't happen if temporarily files are left because an error occurred while the report generation but perversely enough no useful information was left if no errors happened). git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61646 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/debugrpt.cpp b/src/common/debugrpt.cpp index 2acb3a0051..7a6cb7b604 100644 --- a/src/common/debugrpt.cpp +++ b/src/common/debugrpt.cpp @@ -604,8 +604,14 @@ bool wxDebugReportCompress::DoProcess() if ( !count ) return false; + // create the compressed report file outside of the directory with the + // report files as it will be deleted by wxDebugReport dtor but we want to + // keep this one: for this we simply treat the directory name as the name + // of the file so that its last component becomes our base name + wxFileName fn(GetDirectory()); + fn.SetExt("zip"); + // create the streams - wxFileName fn(GetDirectory(), GetReportName(), wxT("zip")); wxFFileOutputStream os(fn.GetFullPath(), wxT("wb")); wxZipOutputStream zos(os, 9); @@ -621,7 +627,7 @@ bool wxDebugReportCompress::DoProcess() if ( !zos.PutNextEntry(ze) ) return false; - wxFileName filename(fn.GetPath(), name); + const wxFileName filename(GetDirectory(), name); wxFFileInputStream is(filename.GetFullPath()); if ( !is.IsOk() || !zos.Write(is).IsOk() ) return false;