if ( pLog != NULL && wxLog::IsAllowedTraceMask(mask) ) {
wxCRIT_SECT_LOCKER(locker, gs_csLogBuf);
+ wxChar *p = s_szBuf;
+ size_t len = WXSIZEOF(s_szBuf);
+ strncpy(s_szBuf, _T("Trace ("), len);
+ len -= 7; // strlen("Trace (")
+ p += 7;
+ strncat(p, mask, len);
+ size_t lenMask = wxStrlen(mask);
+ len -= lenMask;
+ p += lenMask;
+
+ strncat(p, _T("): "), len);
+ len -= 3;
+ p += 3;
+
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));
#if defined(__WXMSW__) && wxUSE_GUI
OutputDebugString(str + wxT("\r\n"));
#endif // MSW
+#if defined(__WXMAC__) && wxUSE_GUI
+ debugstr(str + wxT("\r\n"));
+#endif // MSW
}
// ----------------------------------------------------------------------------