summaryrefslogtreecommitdiff
path: root/gtk/gtkapplicationwindow.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2013-11-16 01:52:04 -0500
committerMatthias Clasen <mclasen@redhat.com>2013-11-16 01:52:04 -0500
commit3ee54047721e6d04f40256b0f4680e572fc5652c (patch)
tree18c1e0c8ae5f58485262b4b7a2d981bc170c041d /gtk/gtkapplicationwindow.c
parent2863bb287cdd654c2d7f3e2f645c16cdea89b900 (diff)
downloadgtk+-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.c8
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)