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