X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d0822e56c682d5919006f144599ffdaef9ab67e6..66e9a9f0ae9cccd52b1a8f9828a3e054803fefb6:/src/common/log.cpp diff --git a/src/common/log.cpp b/src/common/log.cpp index 476f39db24..fe4aff00ae 100644 --- a/src/common/log.cpp +++ b/src/common/log.cpp @@ -522,6 +522,50 @@ void wxLog::Flush() return false; } +// ---------------------------------------------------------------------------- +// wxLogBuffer implementation +// ---------------------------------------------------------------------------- + +void wxLogBuffer::Flush() +{ + if ( !m_str.empty() ) + { + wxMessageOutputBest out; + out.Printf(_T("%s"), m_str.c_str()); + m_str.clear(); + } +} + +void wxLogBuffer::DoLog(wxLogLevel level, const wxChar *szString, time_t t) +{ + switch ( level ) + { + case wxLOG_Trace: + case wxLOG_Debug: +#ifdef __WXDEBUG__ + // don't put debug messages in the buffer, we don't want to show + // them to the user in a msg box, log them immediately + { + wxString str; + TimeStamp(&str); + str += szString; + + wxMessageOutputDebug dbgout; + dbgout.Printf(_T("%s\n"), str.c_str()); + } +#endif // __WXDEBUG__ + break; + + default: + wxLog::DoLog(level, szString, t); + } +} + +void wxLogBuffer::DoLogString(const wxChar *szString, time_t WXUNUSED(t)) +{ + m_str << szString << _T("\n"); +} + // ---------------------------------------------------------------------------- // wxLogStderr class implementation // ---------------------------------------------------------------------------- @@ -751,7 +795,7 @@ const wxChar *wxSysErrorMsg(unsigned long nErrCode) // if this happens, something is seriously wrong, so don't use _() here // for safety wxSprintf(s_szBuf, _T("unknown error %lx"), nErrCode); - return s_szBuf; + return s_szBuf; }