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:
Vadim Zeitlin
2000-02-22 10:00:29 +00:00
parent 6daa30a07e
commit 2ed3265e18
5 changed files with 45 additions and 15 deletions

View File

@@ -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;