bool HasPendingMessages() const { return m_bHasMessages; }
// only one sink is active at each moment
+ // get current log target, will call wxApp::CreateLogTarget() to create one
+ // if none exists
+ static wxLog *GetActiveTarget();
// change log target, pLogger = NULL disables logging. if bNoFlashOld is true,
// the old log target isn't flashed which might lead to loss of messages!
// returns the previous log target
return ms_pLogger;
}
-wxLog *wxLog::SetActiveTarget(wxLog *pLogger)
+wxLog *wxLog::SetActiveTarget(wxLog *pLogger, bool bNoFlashOld)
{
// flush the old messages before changing
- if ( ms_pLogger != NULL )
+ if ( (ms_pLogger != NULL) && !bNoFlashOld )
ms_pLogger->Flush();
wxLog *pOldLogger = ms_pLogger;
// do it right now to block any new calls to Flush() while we're here
m_bHasMessages = FALSE;
-
+
// @@@ ugly...
// concatenate all strings (but not too many to not overfill the msg box)
// open file
// ---------
wxFile file;
- bool bOk = FALSE;
+ bool bOk = FALSE;
if ( wxFile::Exists(szFileName) ) {
bool bAppend = FALSE;
wxString strMsg;
if ( m_pOldLog != NULL )
m_pOldLog->Flush();
- m_bHasMessages = FALSE;
+ m_bHasMessages = FALSE;
}
void wxLogWindow::DoLog(wxLogLevel level, const char *szString)