logging will work even if wxWidgets is reentered after being cleaned up.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46117
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
// current is NULL?
static void DontCreateOnDemand();
+ // Make GetActiveTarget() create a new log object again.
+ static void DoCreateOnDemand();
+
// log the count of repeating messages instead of logging the messages
// multiple times
static void SetRepetitionCounting(bool bRepetCounting = true)
static bool DoCommonPreInit()
{
#if wxUSE_LOG
+ // Reset logging in case we were cleaned up and are being reinitialized.
+ wxLog::DoCreateOnDemand();
+
// install temporary log sink: we can't use wxLogGui before wxApp is
// constructed and if we use wxLogStderr, all messages during
// initialization simply disappear under Windows
ClearTraceMasks();
}
+void wxLog::DoCreateOnDemand()
+{
+ ms_bAutoCreate = true;
+}
+
void wxLog::RemoveTraceMask(const wxString& str)
{
int index = ms_aTraceMasks.Index(str);