X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ed9b9841b32afa2e97353263e3563b4387e2fe0e..051b55ad8ba1efe5f7c16c430131d4cd1b5fb90e:/src/gtk/mdi.cpp diff --git a/src/gtk/mdi.cpp b/src/gtk/mdi.cpp index 85eb0270c7..acd1e36abe 100644 --- a/src/gtk/mdi.cpp +++ b/src/gtk/mdi.cpp @@ -27,6 +27,13 @@ const int wxMENU_HEIGHT = 27; +//----------------------------------------------------------------------------- +// idle system +//----------------------------------------------------------------------------- + +extern void wxapp_install_idle_handler(); +extern bool g_isIdle; + //----------------------------------------------------------------------------- // globals //----------------------------------------------------------------------------- @@ -89,8 +96,9 @@ void wxMDIParentFrame::GtkOnSize( int x, int y, int width, int height ) menu_bar->m_y = 0; menu_bar->m_width = m_width; menu_bar->m_height = wxMENU_HEIGHT; - gtk_myfixed_move( GTK_MYFIXED(m_mainWidget), menu_bar->m_widget, 0, 0 ); - gtk_widget_set_usize( menu_bar->m_widget, m_width, wxMENU_HEIGHT ); + gtk_myfixed_set_size( GTK_MYFIXED(m_mainWidget), + menu_bar->m_widget, + 0, 0, m_width, wxMENU_HEIGHT ); } void wxMDIParentFrame::OnInternalIdle() @@ -290,8 +298,9 @@ void wxMDIChildFrame::SetMenuBar( wxMenuBar *menu_bar ) gtk_widget_hide( m_menuBar->m_widget ); /* insert the invisible menu bar into the _parent_ mdi frame */ - gtk_myfixed_put( GTK_MYFIXED(mdi_frame->m_mainWidget), m_menuBar->m_widget, 0, 0 ); - gtk_widget_set_usize( menu_bar->m_widget, mdi_frame->m_width, wxMENU_HEIGHT ); + gtk_myfixed_put( GTK_MYFIXED(mdi_frame->m_mainWidget), + m_menuBar->m_widget, + 0, 0, mdi_frame->m_width, wxMENU_HEIGHT ); } } @@ -314,6 +323,8 @@ void wxMDIChildFrame::OnActivate( wxActivateEvent &WXUNUSED(event) ) static void gtk_page_size_callback( GtkWidget *WXUNUSED(widget), GtkAllocation* alloc, wxWindow *win ) { + if (g_isIdle) wxapp_install_idle_handler(); + if ((win->m_x == alloc->x) && (win->m_y == alloc->y) && (win->m_width == alloc->width) &&