wxMenuBar *menu_bar = active_child_frame->m_menuBar;
if (menu_bar)
{
- menu_bar->SetInvokingWindow(active_child_frame);
+ menu_bar->Attach(active_child_frame);
}
}
m_justInserted = false;
{
if (menu_bar->Show(true))
{
- 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;
}
{
if (menu_bar->Show(false))
{
- menu_bar->UnsetInvokingWindow( child_frame );
+ menu_bar->Detach();
}
}
}
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 );
}
}
}
// a call to gtk_mdi_page_change_callback with an invalid parent
// (because gtk_mdi_page_change_callback expects a wxMDIClientWindow but
// at that point of the dtor chain we are a simple wxWindow!)
- g_signal_handlers_disconnect_by_func(m_widget,
+ g_signal_handlers_disconnect_by_func(m_widget,
(gpointer)gtk_mdi_page_change_callback,
GetParent());
}