]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/log.cpp
gtk+ 1.3.1's region transformation code no longer returns a new region,
[wxWidgets.git] / src / common / log.cpp
index 129b25305474894316e6ec4d15d5c0da8921f609..e0bc9a779e5417ceb072a60986b3759badfb9032 100644 (file)
@@ -178,9 +178,23 @@ void wxLogVerbose(const wxChar *szFormat, ...)
     if ( pLog != NULL && wxLog::IsAllowedTraceMask(mask) ) {
       wxCRIT_SECT_LOCKER(locker, gs_csLogBuf);
 
+      wxChar *p = s_szBuf;
+      size_t len = WXSIZEOF(s_szBuf);
+      wxStrncpy(s_szBuf, _T("("), len);
+      len -= 1; // strlen("(")
+      p += 1;
+      wxStrncat(p, mask, len);
+      size_t lenMask = wxStrlen(mask);
+      len -= lenMask;
+      p += lenMask;
+
+      wxStrncat(p, _T(") "), len);
+      len -= 2;
+      p += 2;
+
       va_list argptr;
       va_start(argptr, szFormat);
-      wxVsnprintf(s_szBuf, WXSIZEOF(s_szBuf), szFormat, argptr);
+      wxVsnprintf(p, len, szFormat, argptr);
       va_end(argptr);
 
       wxLog::OnLog(wxLOG_Trace, s_szBuf, time(NULL));
@@ -355,8 +369,13 @@ void wxLog::DoLog(wxLogLevel level, const wxChar *szString, time_t t)
         case wxLOG_Trace:
         case wxLOG_Debug:
 #ifdef __WXDEBUG__
-            DoLogString(szString, t);
-#endif
+            {
+                wxString msg = level == wxLOG_Trace ? wxT("Trace: ")
+                                                    : wxT("Debug: ");
+                msg << szString;
+                DoLogString(msg, t);
+            }
+#endif // Debug
             break;
     }
 }
@@ -396,7 +415,8 @@ void wxLogStderr::DoLogString(const wxChar *szString, time_t WXUNUSED(t))
     // under Windows, programs usually don't have stderr at all, so show the
     // messages also under debugger - unless it's a console program
 #if defined(__WXMSW__) && wxUSE_GUI
-    OutputDebugString(str + wxT("\r\n"));
+    str += wxT("\r\n") ;
+    OutputDebugString(str.c_str());
 #endif // MSW
 #if defined(__WXMAC__) && wxUSE_GUI
     debugstr(str + wxT("\r\n"));
@@ -434,6 +454,8 @@ wxLog          *wxLog::ms_pLogger      = (wxLog *)NULL;
 bool            wxLog::ms_doLog        = TRUE;
 bool            wxLog::ms_bAutoCreate  = TRUE;
 
+size_t          wxLog::ms_suspendCount = 0;
+
 #if wxUSE_GUI
     const wxChar *wxLog::ms_timestamp  = wxT("%X");  // time only, no date
 #else
@@ -617,12 +639,10 @@ void wxOnAssert(const wxChar *szFile, int nLine, const wxChar *szMsg)
 #if wxUSE_GUI || defined(__WXMSW__)
         // this message is intentionally not translated - it is for
         // developpers only
-        wxStrcat(szBuf, wxT("\nDo you want to stop the program?"
-                            "\nYou can also choose [Cancel] to suppress "
-                            "further warnings."));
+        wxStrcat(szBuf, wxT("\nDo you want to stop the program?\nYou can also choose [Cancel] to suppress further warnings."));
 
 #if wxUSE_GUI
-        switch ( wxMessageBox(szBuf, "Debug",
+        switch ( wxMessageBox(szBuf, wxT("Debug"),
                               wxYES_NO | wxCANCEL | wxICON_STOP ) ) {
             case wxYES:
                 Trap();
@@ -635,7 +655,7 @@ void wxOnAssert(const wxChar *szFile, int nLine, const wxChar *szMsg)
             //case wxNO: nothing to do
         }
 #else // !GUI, but MSW
-        switch ( ::MessageBox(NULL, szBuf, "Debug",
+        switch ( ::MessageBox(NULL, szBuf, _T("Debug"),
                               MB_YESNOCANCEL | MB_ICONSTOP ) ) {
             case IDYES:
                 Trap();