]> git.saurik.com Git - wxWidgets.git/commitdiff
Restore the old logger in wxLogChain dtor instead of deleting it.
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 30 Oct 2010 23:50:28 +0000 (23:50 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 30 Oct 2010 23:50:28 +0000 (23:50 +0000)
wxLogChain was leaving the global log target pointing to a deleted object,
resulting in crashes when using wxLogWindow without any explicit
SetActiveTarget() calls.

Restore the original logger as the active target in wxLogChain dtor to ensure
that the active log target remains valid.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65956 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/log.cpp

index 88e715f80082510f1d4f24d6cb2d6c518d130bbf..dd0f26e1d6a55012b1c6d7e7c0bf8257206f50ce 100644 (file)
@@ -852,7 +852,7 @@ wxLogChain::wxLogChain(wxLog *logger)
 
 wxLogChain::~wxLogChain()
 {
 
 wxLogChain::~wxLogChain()
 {
-    delete m_logOld;
+    wxLog::SetActiveTarget(m_logOld);
 
     if ( m_logNew != this )
         delete m_logNew;
 
     if ( m_logNew != this )
         delete m_logNew;