long style,
const wxString& name )
{
- wxFrame::Create( parent, id, title, pos, size, style, name );
+ if ( !wxFrame::Create( parent, id, title, pos, size, style, name ) )
+ return false;
- OnCreateClient();
+ m_clientWindow = OnCreateClient();
- return true;
+ return m_clientWindow != NULL;
}
void wxMDIParentFrame::OnInternalIdle()
wxMDIClientWindow *wxMDIParentFrame::OnCreateClient()
{
- m_clientWindow = new wxMDIClientWindow( this );
- return m_clientWindow;
+ return new wxMDIClientWindow( this );
}
void wxMDIParentFrame::ActivateNext()
{
if (m_menuBar)
delete m_menuBar;
+
+ // wxMDIClientWindow does not get redrawn properly after last child is removed
+ if (m_parent && m_parent->GetChildren().size() <= 1)
+ gtk_widget_queue_draw(m_parent->m_widget);
}
bool wxMDIChildFrame::Create( wxMDIParentFrame *parent,