X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d2824cdb7f6ac2371fefd3d44eff62bb48ebc0a3..94e0018723919fe2ca2f5b5f0a42804c16dbf3a1:/src/gtk1/mdi.cpp diff --git a/src/gtk1/mdi.cpp b/src/gtk1/mdi.cpp index 250bd2dd1b..d8c711c8a5 100644 --- a/src/gtk1/mdi.cpp +++ b/src/gtk1/mdi.cpp @@ -178,7 +178,7 @@ void wxMDIParentFrame::OnInternalIdle() gtk_pizza_set_size( GTK_PIZZA(m_mainWidget), menu_bar->m_widget, 0, 0, m_width, wxMENU_HEIGHT ); - menu_bar->SetInvokingWindow(active_child_frame); + menu_bar->Attach(active_child_frame); } } m_justInserted = false; @@ -209,7 +209,14 @@ void wxMDIParentFrame::OnInternalIdle() gtk_pizza_set_size( GTK_PIZZA(m_mainWidget), menu_bar->m_widget, 0, 0, m_width, wxMENU_HEIGHT ); - menu_bar->SetInvokingWindow( child_frame ); + + // Attach() asserts if we call it for an already + // attached menu bar so don't do it if we're already + // associated with this frame (it would be nice to get + // rid of this check and ensure that this doesn't + // happen...) + if ( menu_bar->GetFrame() != child_frame ) + menu_bar->Attach( child_frame ); } visible_child_menu = true; } @@ -217,7 +224,7 @@ void wxMDIParentFrame::OnInternalIdle() { if (menu_bar->Show(false)) { - menu_bar->UnsetInvokingWindow( child_frame ); + menu_bar->Detach(); } } } @@ -233,12 +240,12 @@ void wxMDIParentFrame::OnInternalIdle() if (visible_child_menu) { m_frameMenuBar->Show( false ); - m_frameMenuBar->UnsetInvokingWindow( this ); + m_frameMenuBar->Detach(); } else { m_frameMenuBar->Show( true ); - m_frameMenuBar->SetInvokingWindow( this ); + m_frameMenuBar->Attach( this ); m_frameMenuBar->m_width = m_width; m_frameMenuBar->m_height = wxMENU_HEIGHT; @@ -267,7 +274,7 @@ wxMDIChildFrame *wxMDIParentFrame::GetActiveChild() const { wxMDIChildFrame *child_frame = wxDynamicCast( node->GetData(), wxMDIChildFrame ); - wxASSERT_MSG( child_frame, _T("child is not a wxMDIChildFrame") ); + wxASSERT_MSG( child_frame, wxT("child is not a wxMDIChildFrame") ); if (child_frame->m_page == page) return child_frame; @@ -422,7 +429,7 @@ static void gtk_page_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation* static void wxInsertChildInMDI( wxMDIClientWindow* parent, wxMDIChildFrame* child ) { wxString s = child->GetTitle(); - if (s.IsNull()) s = _("MDI child"); + if ( s.empty() ) s = _("MDI child"); GtkWidget *label_widget = gtk_label_new( s.mbc_str() ); gtk_misc_set_alignment( GTK_MISC(label_widget), 0.0, 0.5 );