X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/937013e0fd914d4c42f9f5ec98da665986b93dfa..935789271447807376993f92acf6397e3f1e79a5:/src/gtk/mdi.cpp diff --git a/src/gtk/mdi.cpp b/src/gtk/mdi.cpp index ef4c027e25..4a7ddf7c9f 100644 --- a/src/gtk/mdi.cpp +++ b/src/gtk/mdi.cpp @@ -99,11 +99,12 @@ bool wxMDIParentFrame::Create(wxWindow *parent, 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() @@ -246,8 +247,7 @@ wxMDIClientWindow *wxMDIParentFrame::GetClientWindow() const wxMDIClientWindow *wxMDIParentFrame::OnCreateClient() { - m_clientWindow = new wxMDIClientWindow( this ); - return m_clientWindow; + return new wxMDIClientWindow( this ); } void wxMDIParentFrame::ActivateNext() @@ -293,6 +293,10 @@ wxMDIChildFrame::~wxMDIChildFrame() { 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,