]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/mdi.cpp
Crash fix under VC++
[wxWidgets.git] / src / gtk1 / mdi.cpp
index 131cee85cb10060bb0bc628b18544113e2b7acb0..36b2f789f053a99f4c23fa9d9aaa2f4516512ea5 100644 (file)
@@ -168,16 +168,21 @@ void wxMDIParentFrame::OnInternalIdle()
         GtkNotebook *notebook = GTK_NOTEBOOK(m_clientWindow->m_widget);
         gtk_notebook_set_page( notebook, g_list_length( notebook->children ) - 1 );
 
         GtkNotebook *notebook = GTK_NOTEBOOK(m_clientWindow->m_widget);
         gtk_notebook_set_page( notebook, g_list_length( notebook->children ) - 1 );
 
-    /* need to set the menubar of the child */
+        /* need to set the menubar of the child */
         wxMDIChildFrame *active_child_frame = GetActiveChild();
         wxMDIChildFrame *active_child_frame = GetActiveChild();
-        wxMenuBar *menu_bar = active_child_frame->m_menuBar;
-        menu_bar->m_width = m_width;
-        menu_bar->m_height = wxMENU_HEIGHT;
-        gtk_pizza_set_size( GTK_PIZZA(m_mainWidget),
-                            menu_bar->m_widget,
-                            0, 0, m_width, wxMENU_HEIGHT );
-        menu_bar->SetInvokingWindow(active_child_frame);
-
+        if (active_child_frame != NULL)
+        {
+            wxMenuBar *menu_bar = active_child_frame->m_menuBar;
+            if (menu_bar)
+            {
+                menu_bar->m_width = m_width;
+                menu_bar->m_height = wxMENU_HEIGHT;
+                gtk_pizza_set_size( GTK_PIZZA(m_mainWidget),
+                                    menu_bar->m_widget,
+                                    0, 0, m_width, wxMENU_HEIGHT );
+                menu_bar->SetInvokingWindow(active_child_frame);
+            }
+        }
         m_justInserted = false;
         return;
     }
         m_justInserted = false;
         return;
     }