added wxLog::Suspend/Resume and wxYield() uses them now so that it won't flush
the messages any more git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6204 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -135,9 +135,12 @@ public:
|
||||
// flush the active target if any
|
||||
static void FlushActive()
|
||||
{
|
||||
wxLog *log = GetActiveTarget();
|
||||
if ( log )
|
||||
log->Flush();
|
||||
if ( !ms_suspendCount )
|
||||
{
|
||||
wxLog *log = GetActiveTarget();
|
||||
if ( log && log->HasPendingMessages() )
|
||||
log->Flush();
|
||||
}
|
||||
}
|
||||
// get current log target, will call wxApp::CreateLogTarget() to
|
||||
// create one if none exists
|
||||
@@ -145,6 +148,13 @@ public:
|
||||
// change log target, pLogger may be NULL
|
||||
static wxLog *SetActiveTarget(wxLog *pLogger);
|
||||
|
||||
// suspend the message flushing of the main target until the next call
|
||||
// to Resume() - this is mainly for internal use (to prevent wxYield()
|
||||
// from flashing the messages)
|
||||
static void Suspend() { ms_suspendCount++; }
|
||||
// must be called for each Suspend()!
|
||||
static void Resume() { ms_suspendCount--; }
|
||||
|
||||
// functions controlling the default wxLog behaviour
|
||||
// verbose mode is activated by standard command-line '-verbose'
|
||||
// option
|
||||
@@ -205,6 +215,8 @@ private:
|
||||
static bool ms_doLog; // FALSE => all logging disabled
|
||||
static bool ms_bAutoCreate; // create new log targets on demand?
|
||||
|
||||
static size_t ms_suspendCount; // if positive, logs are not flushed
|
||||
|
||||
// format string for strftime(), if NULL, time stamping log messages is
|
||||
// disabled
|
||||
static const wxChar *ms_timestamp;
|
||||
|
Reference in New Issue
Block a user