diff options
author | Matthias Clasen <mclasen@redhat.com> | 2013-11-16 01:52:04 -0500 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2013-11-16 01:52:04 -0500 |
commit | 3ee54047721e6d04f40256b0f4680e572fc5652c (patch) | |
tree | 18c1e0c8ae5f58485262b4b7a2d981bc170c041d /gtk/gtkapplicationwindow.c | |
parent | 2863bb287cdd654c2d7f3e2f645c16cdea89b900 (diff) | |
download | gtk+-3ee54047721e6d04f40256b0f4680e572fc5652c.tar.gz |
GtkApplicationWindow: Avoid double fallback for the app menu
If we have a header bar which has the app menu fallback
enabled, don't add the app menu to the fallback menubar.
Diffstat (limited to 'gtk/gtkapplicationwindow.c')
-rw-r--r-- | gtk/gtkapplicationwindow.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gtk/gtkapplicationwindow.c b/gtk/gtkapplicationwindow.c index f612dcf6b1..dd0be62f33 100644 --- a/gtk/gtkapplicationwindow.c +++ b/gtk/gtkapplicationwindow.c @@ -24,6 +24,7 @@ #include "gtkapplicationprivate.h" #include "gtkwidgetprivate.h" #include "gtkwindowprivate.h" +#include "gtkheaderbar.h" #include "gtkmenubar.h" #include "gtkintl.h" #include "gtksettings.h" @@ -295,10 +296,15 @@ gtk_application_window_update_shell_shows_app_menu (GtkApplicationWindow *window GtkSettings *settings) { gboolean shown_by_shell; + gboolean shown_by_titlebar; + GtkWidget *titlebar; g_object_get (settings, "gtk-shell-shows-app-menu", &shown_by_shell, NULL); - if (shown_by_shell) + titlebar = _gtk_window_get_titlebar (GTK_WINDOW (window)); + shown_by_titlebar = GTK_IS_HEADER_BAR (titlebar) && gtk_header_bar_get_show_fallback_app_menu (GTK_HEADER_BAR (titlebar)); + + if (shown_by_shell || shown_by_titlebar) { /* the shell shows it, so don't show it locally */ if (g_menu_model_get_n_items (G_MENU_MODEL (window->priv->app_menu_section)) != 0) |