|
Dan Horák |
48e18a |
Index: src/gtk/frame.cpp
|
|
Dan Horák |
48e18a |
===================================================================
|
|
Dan Horák |
48e18a |
--- src/gtk/frame.cpp (revision 62486)
|
|
Dan Horák |
48e18a |
+++ src/gtk/frame.cpp (revision 62487)
|
|
Dan Horák |
48e18a |
@@ -78,6 +78,30 @@
|
|
Dan Horák |
48e18a |
}
|
|
Dan Horák |
48e18a |
}
|
|
Dan Horák |
48e18a |
|
|
Dan Horák |
48e18a |
+//-----------------------------------------------------------------------------
|
|
Dan Horák |
48e18a |
+// "size-request" from menubar
|
|
Dan Horák |
48e18a |
+//-----------------------------------------------------------------------------
|
|
Dan Horák |
48e18a |
+
|
|
Dan Horák |
48e18a |
+extern "C" {
|
|
Dan Horák |
48e18a |
+static void menubar_size_request(GtkWidget* widget, GtkRequisition*, wxFrame* win)
|
|
Dan Horák |
48e18a |
+{
|
|
Dan Horák |
48e18a |
+ g_signal_handlers_disconnect_by_func(
|
|
Dan Horák |
48e18a |
+ widget, (void*)menubar_size_request, win);
|
|
Dan Horák |
48e18a |
+ win->UpdateMenuBarSize();
|
|
Dan Horák |
48e18a |
+}
|
|
Dan Horák |
48e18a |
+}
|
|
Dan Horák |
48e18a |
+
|
|
Dan Horák |
48e18a |
+//-----------------------------------------------------------------------------
|
|
Dan Horák |
48e18a |
+// "style-set" from menubar
|
|
Dan Horák |
48e18a |
+//-----------------------------------------------------------------------------
|
|
Dan Horák |
48e18a |
+
|
|
Dan Horák |
48e18a |
+extern "C" {
|
|
Dan Horák |
48e18a |
+static void menubar_style_set(GtkWidget* widget, GtkStyle*, wxFrame* win)
|
|
Dan Horák |
48e18a |
+{
|
|
Dan Horák |
48e18a |
+ g_signal_connect(widget, "size-request",
|
|
Dan Horák |
48e18a |
+ G_CALLBACK(menubar_size_request), win);
|
|
Dan Horák |
48e18a |
+}
|
|
Dan Horák |
48e18a |
+}
|
|
Dan Horák |
48e18a |
#endif // wxUSE_MENUS_NATIVE
|
|
Dan Horák |
48e18a |
|
|
Dan Horák |
48e18a |
#if wxUSE_TOOLBAR
|
|
Dan Horák |
48e18a |
@@ -571,6 +595,9 @@
|
|
Dan Horák |
48e18a |
|
|
Dan Horák |
48e18a |
if ( m_frameMenuBar )
|
|
Dan Horák |
48e18a |
{
|
|
Dan Horák |
48e18a |
+ g_signal_handlers_disconnect_by_func(
|
|
Dan Horák |
48e18a |
+ m_frameMenuBar->m_widget, (void*)menubar_style_set, this);
|
|
Dan Horák |
48e18a |
+
|
|
Dan Horák |
48e18a |
m_frameMenuBar->UnsetInvokingWindow( this );
|
|
Dan Horák |
48e18a |
|
|
Dan Horák |
48e18a |
if (m_frameMenuBar->GetWindowStyle() & wxMB_DOCKABLE)
|
|
Dan Horák |
48e18a |
@@ -621,6 +648,9 @@
|
|
Dan Horák |
48e18a |
gtk_widget_show( m_frameMenuBar->m_widget );
|
|
Dan Horák |
48e18a |
|
|
Dan Horák |
48e18a |
UpdateMenuBarSize();
|
|
Dan Horák |
48e18a |
+
|
|
Dan Horák |
48e18a |
+ g_signal_connect(menuBar->m_widget, "style-set",
|
|
Dan Horák |
48e18a |
+ G_CALLBACK(menubar_style_set), this);
|
|
Dan Horák |
48e18a |
}
|
|
Dan Horák |
48e18a |
else
|
|
Dan Horák |
48e18a |
{
|