]> git.saurik.com Git - wxWidgets.git/commitdiff
don't eat activation events (replaces patch 1465849)
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 17 Apr 2006 00:00:58 +0000 (00:00 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 17 Apr 2006 00:00:58 +0000 (00:00 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/mdi.cpp

index f793871ed4511aeec16ecd7d1abb3808f04f4e5f..a15c6a7500107559a72ad13e928db6aa74c8bd37 100644 (file)
@@ -70,16 +70,14 @@ gtk_mdi_page_change_callback( GtkNotebook *WXUNUSED(widget),
     child = (wxMDIChildFrame*) NULL;
 
     wxWindowList::compatibility_iterator node = client_window->GetChildren().GetFirst();
-    while (node)
+    while ( node )
     {
         wxMDIChildFrame *child_frame = wxDynamicCast( node->GetData(), wxMDIChildFrame );
-        // CE: we come here in the destructor with a null child_frame - I think because
-        // g_signal_connect (m_widget, "switch_page", (see below)
-        // isn't deleted early enough
-        if (!child_frame)
-          return ;
 
-        if (child_frame->m_page == page)
+        // child_frame can be NULL when this is called from dtor, probably
+        // because g_signal_connect (m_widget, "switch_page", (see below)
+        // isn't deleted early enough
+        if ( child_frame && child_frame->m_page == page )
         {
             child = child_frame;
             break;