// Name: src/gtk/frame.cpp
// Purpose:
// Author: Robert Roebling
-// Id: $Id$
// Copyright: (c) 1998 Robert Roebling
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
wxFrameBase::DoGetClientSize(width, height);
+ if (m_useCachedClientSize)
+ return;
+
if (height)
{
#if wxUSE_MENUS_NATIVE
wxFrameBase::DetachMenuBar();
// make sure next size_allocate causes a wxSizeEvent
- m_oldClientWidth = 0;
+ m_useCachedClientSize = false;
+ m_clientWidth = 0;
}
void wxFrame::AttachMenuBar( wxMenuBar *menuBar )
{
#if wxUSE_LIBHILDON || wxUSE_LIBHILDON2
hildon_window_set_menu(HILDON_WINDOW(m_widget),
- GTK_MENU(m_frameMenuBar->m_menubar));
+ GTK_MENU(m_frameMenuBar->m_widget));
#else // !wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
- m_frameMenuBar->SetParent(this);
// menubar goes into top of vbox (m_mainWidget)
gtk_box_pack_start(
#endif // wxUSE_LIBHILDON || wxUSE_LIBHILDON2/!wxUSE_LIBHILDON && !wxUSE_LIBHILDON2
}
// make sure next size_allocate causes a wxSizeEvent
- m_oldClientWidth = 0;
+ m_useCachedClientSize = false;
+ m_clientWidth = 0;
}
#endif // wxUSE_MENUS_NATIVE
gtk_widget_set_size_request(toolbar->m_widget, -1, -1);
}
// make sure next size_allocate causes a wxSizeEvent
- m_oldClientWidth = 0;
+ m_useCachedClientSize = false;
+ m_clientWidth = 0;
}
#endif // wxUSE_TOOLBAR
gtk_box_set_child_packing(GTK_BOX(m_mainWidget),
statbar->m_widget, false, false, 0, GTK_PACK_END);
// make sure next size_allocate on statusbar causes a size event
- statbar->m_oldClientWidth = 0;
+ statbar->m_useCachedClientSize = false;
+ statbar->m_clientWidth = 0;
int h = -1;
if (statbar->m_wxwindow)
{
gtk_widget_set_size_request(statbar->m_widget, -1, h);
}
// make sure next size_allocate causes a wxSizeEvent
- m_oldClientWidth = 0;
+ m_useCachedClientSize = false;
+ m_clientWidth = 0;
}
#endif // wxUSE_STATUSBAR