fix log target auto creation broken by recent changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -606,6 +606,13 @@ private:
|
|||||||
static bool EnableThreadLogging(bool enable = true);
|
static bool EnableThreadLogging(bool enable = true);
|
||||||
#endif // wxUSE_THREADS
|
#endif // wxUSE_THREADS
|
||||||
|
|
||||||
|
// get the active log target for the main thread, auto-creating it if
|
||||||
|
// necessary
|
||||||
|
//
|
||||||
|
// this is called from GetActiveTarget() and OnLog() when they're called
|
||||||
|
// from the main thread
|
||||||
|
static wxLog *GetMainThreadActiveTarget();
|
||||||
|
|
||||||
// called from OnLog() if it's called from the main thread or if we have a
|
// called from OnLog() if it's called from the main thread or if we have a
|
||||||
// (presumably MT-safe) thread-specific logger and by FlushThreadMessages()
|
// (presumably MT-safe) thread-specific logger and by FlushThreadMessages()
|
||||||
// when it plays back the buffered messages logged from the other threads
|
// when it plays back the buffered messages logged from the other threads
|
||||||
|
@@ -294,7 +294,7 @@ wxLog::OnLog(wxLogLevel level,
|
|||||||
else
|
else
|
||||||
#endif // wxUSE_THREADS
|
#endif // wxUSE_THREADS
|
||||||
{
|
{
|
||||||
logger = ms_pLogger;
|
logger = GetMainThreadActiveTarget();
|
||||||
if ( !logger )
|
if ( !logger )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -464,6 +464,12 @@ wxLog *wxLog::GetActiveTarget()
|
|||||||
}
|
}
|
||||||
#endif // wxUSE_THREADS
|
#endif // wxUSE_THREADS
|
||||||
|
|
||||||
|
return GetMainThreadActiveTarget();
|
||||||
|
}
|
||||||
|
|
||||||
|
/* static */
|
||||||
|
wxLog *wxLog::GetMainThreadActiveTarget()
|
||||||
|
{
|
||||||
if ( ms_bAutoCreate && ms_pLogger == NULL ) {
|
if ( ms_bAutoCreate && ms_pLogger == NULL ) {
|
||||||
// prevent infinite recursion if someone calls wxLogXXX() from
|
// prevent infinite recursion if someone calls wxLogXXX() from
|
||||||
// wxApp::CreateLogTarget()
|
// wxApp::CreateLogTarget()
|
||||||
|
Reference in New Issue
Block a user