]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/logg.cpp
post wxUniv merge fixes
[wxWidgets.git] / src / generic / logg.cpp
index c5e260c9b20eb54b23496a009391e63c88207a03..0564199d09118336d0f402db9f1446b756919341 100644 (file)
@@ -164,7 +164,7 @@ static int OpenLogFile(wxFile& file, wxString *filename = NULL);
 
 // we use a global variable to store the frame pointer for wxLogStatus - bad,
 // but it's the easiest way
-static wxFrame *gs_pFrame; // FIXME MT-unsafe
+static wxFrame *gs_pFrame = NULL; // FIXME MT-unsafe
 
 // ============================================================================
 // implementation
@@ -546,15 +546,15 @@ wxLogFrame::~wxLogFrame()
 
 // wxLogWindow
 // -----------
+
 wxLogWindow::wxLogWindow(wxFrame *pParent,
                          const wxChar *szTitle,
                          bool bShow,
                          bool bDoPass)
 {
-    m_bPassMessages = bDoPass;
+    PassMessages(bDoPass);
 
     m_pLogFrame = new wxLogFrame(pParent, this, szTitle);
-    m_pOldLog = wxLog::SetActiveTarget(this);
 
     if ( bShow )
         m_pLogFrame->Show(TRUE);
@@ -565,21 +565,10 @@ void wxLogWindow::Show(bool bShow)
     m_pLogFrame->Show(bShow);
 }
 
-void wxLogWindow::Flush()
-{
-    if ( m_pOldLog != NULL )
-        m_pOldLog->Flush();
-
-    m_bHasMessages = FALSE;
-}
-
 void wxLogWindow::DoLog(wxLogLevel level, const wxChar *szString, time_t t)
 {
     // first let the previous logger show it
-    if ( m_pOldLog != NULL && m_bPassMessages ) {
-        // bogus cast just to access protected DoLog
-        ((wxLogWindow *)m_pOldLog)->DoLog(level, szString, t);
-    }
+    wxLogPassThrough::DoLog(level, szString, t);
 
     if ( m_pLogFrame ) {
         switch ( level ) {
@@ -652,8 +641,6 @@ void wxLogWindow::OnFrameDelete(wxFrame * WXUNUSED(frame))
 
 wxLogWindow::~wxLogWindow()
 {
-    delete m_pOldLog;
-
     // may be NULL if log frame already auto destroyed itself
     delete m_pLogFrame;
 }