]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/debugrpt.cpp
missing break in ParseFormat() (part of patch 1160117)
[wxWidgets.git] / src / common / debugrpt.cpp
index 10597eb4eb1c974d65740d8f612e23e2865250c5..2f5ba823e3187635e61425ef82618aae1fc18573 100644 (file)
@@ -27,6 +27,7 @@
     #include "wx/app.h"
     #include "wx/log.h"
     #include "wx/intl.h"
+    #include "wx/utils.h"
 #endif // WX_PRECOMP
 
 #if wxUSE_DEBUGREPORT
@@ -85,7 +86,7 @@ protected:
 static inline void
 HexProperty(wxXmlNode *node, const wxChar *name, unsigned long value)
 {
-    node->AddProperty(name, wxString::Format(_T("%08x"), value));
+    node->AddProperty(name, wxString::Format(_T("%08lx"), value));
 }
 
 static inline void
@@ -105,7 +106,7 @@ TextElement(wxXmlNode *node, const wxChar *name, const wxString& value)
 static inline void
 HexElement(wxXmlNode *node, const wxChar *name, unsigned long value)
 {
-    TextElement(node, name, wxString::Format(_T("%08x"), value));
+    TextElement(node, name, wxString::Format(_T("%08lx"), value));
 }
 
 #if wxUSE_STACKWALKER
@@ -178,7 +179,7 @@ void XmlStackWalker::OnStackFrame(const wxStackFrame& frame)
 wxDebugReport::wxDebugReport()
 {
     // get a temporary directory name
-    wxString appname(wxTheApp ? wxTheApp->GetAppName() : _T("wx"));
+    wxString appname = GetReportName();
 
     // we can't use CreateTempFileName() because it creates a file, not a
     // directory, so do our best to create a unique name ourselves
@@ -187,7 +188,7 @@ wxDebugReport::wxDebugReport()
     wxFileName fn;
     fn.AssignTempFileName(appname);
     m_dir.Printf(_T("%s%c%s_dbgrpt-%lu-%s"),
-                 fn.GetPath(), wxFILE_SEP_PATH, appname.c_str(),
+                 fn.GetPath().c_str(), wxFILE_SEP_PATH, appname.c_str(),
                  wxGetProcessId(),
                  wxDateTime::Now().Format(_T("%Y%m%dT%H%M%S")).c_str());
 
@@ -223,7 +224,12 @@ wxDebugReport::~wxDebugReport()
 
     if ( !m_dir.empty() )
     {
-        if ( wxRmDir(m_dir) != 0 )
+        // Temp fix: what should this be? eVC++ doesn't like wxRmDir
+#ifdef __WXWINCE__
+        if ( wxRmdir(m_dir.fn_str()) != 0 )
+#else
+        if ( wxRmDir(m_dir.fn_str()) != 0 )
+#endif
         {
             wxLogSysError(_("Failed to clean up debug report directory \"%s\""),
                           m_dir.c_str());
@@ -237,7 +243,10 @@ wxDebugReport::~wxDebugReport()
 
 wxString wxDebugReport::GetReportName() const
 {
-    return wxString(wxTheApp ? wxTheApp->GetAppName() : _T("wx"));
+    if(wxTheApp)
+        return wxTheApp->GetAppName();
+
+    return _T("wx");
 }
 
 void wxDebugReport::AddFile(const wxString& name, const wxString& description)
@@ -279,6 +288,10 @@ void wxDebugReport::AddAll(Context context)
 #if wxUSE_CRASHREPORT
     AddDump(context);
 #endif // wxUSE_CRASHREPORT
+
+#if !wxUSE_STACKWALKER && !wxUSE_CRASHREPORT
+    wxUnusedVar(context);
+#endif
 }
 
 // ----------------------------------------------------------------------------
@@ -560,7 +573,8 @@ bool wxDebugReportCompress::DoProcess()
         if ( !zos.PutNextEntry(ze) )
             return false;
 
-        wxFFileInputStream is(wxFileName(fn.GetPath(), name).GetFullPath());
+        wxFileName filename(fn.GetPath(), name);
+        wxFFileInputStream is(filename.GetFullPath());
         if ( !is.IsOk() || !zos.Write(is).IsOk() )
             return false;
     }