git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61432
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
static bool EnableThreadLogging(bool enable = true);
#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
// (presumably MT-safe) thread-specific logger and by FlushThreadMessages()
// when it plays back the buffered messages logged from the other threads
else
#endif // wxUSE_THREADS
{
- logger = ms_pLogger;
+ logger = GetMainThreadActiveTarget();
if ( !logger )
return;
}
}
#endif // wxUSE_THREADS
+ return GetMainThreadActiveTarget();
+}
+
+/* static */
+wxLog *wxLog::GetMainThreadActiveTarget()
+{
if ( ms_bAutoCreate && ms_pLogger == NULL ) {
// prevent infinite recursion if someone calls wxLogXXX() from
// wxApp::CreateLogTarget()