summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-04-06 00:20:21 +0000
committerMatthias Clasen <mclasen@redhat.com>2019-04-06 00:20:21 +0000
commit2deb0e7e1daf3494e998bc6d3264075ccb12c91c (patch)
treeadca0976e5db0c4fdaa240b2e6385c26c29c8bf0
parentcb3d61bb0e305c759fa429e509eb85eb7752b4a7 (diff)
downloadgtk+-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.c2
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)
{