diff options
author | Matthias Clasen <mclasen@redhat.com> | 2019-04-06 00:20:21 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2019-04-06 00:20:21 +0000 |
commit | 2deb0e7e1daf3494e998bc6d3264075ccb12c91c (patch) | |
tree | adca0976e5db0c4fdaa240b2e6385c26c29c8bf0 | |
parent | cb3d61bb0e305c759fa429e509eb85eb7752b4a7 (diff) | |
download | gtk+-2deb0e7e1daf3494e998bc6d3264075ccb12c91c.tar.gz |
Make menu activation work again
After we stopped untranslatable delivering events, menus stopped
working 'the second time'. After some painful debugging, it appears
that this is caused by the menushell code deliberately grabbing
on the menubar *after* grabbing on the menu, causing events to
be deleivered to the wrong toplevel. This did not use to matter,
but now we drop these events.
Absent a more thorough rewrite of menus, just don't grab on
the menubar. This makes menu activation work again and does not
appear to have ill effects, on either Wayland or X.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1796
-rw-r--r-- | gtk/gtkmenushell.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index 2521b8368c..b538c5e011 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -708,7 +708,7 @@ multi_press_pressed (GtkGestureMultiPress *gesture, gtk_widget_get_parent (menu_item) == GTK_WIDGET (menu_shell) && menu_item != priv->active_menu_item) { - gtk_menu_shell_activate (menu_shell); + priv->active = TRUE; if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement == GTK_TOP_BOTTOM) { |