From: Carlos Garnacho Date: Thu, 10 Aug 2017 09:56:47 +0000 (+0200) Subject: menu: Avoid cancelling the menu on GTK+ grabs inside the GtkMenu X-Git-Tag: archive/raspbian/3.24.39-1+rpi1~1^2~65^2~39^2~309 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=26d8a6dfbac5180dce71d1f2edc7029cfa2773ef;p=gtk%2B3.0.git menu: Avoid cancelling the menu on GTK+ grabs inside the GtkMenu Allows again sliders as menuitems, broken by commit 9b032073. https://bugzilla.gnome.org/show_bug.cgi?id=786029 --- diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index 2308040ef2..c443cfeb22 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -6183,7 +6183,8 @@ gtk_menu_grab_notify (GtkWidget *widget, group = gtk_window_get_group (GTK_WINDOW (toplevel)); grab = gtk_window_group_get_current_grab (group); - if (GTK_MENU_SHELL (widget)->priv->active && !GTK_IS_MENU_SHELL (grab)) + if (GTK_MENU_SHELL (widget)->priv->active && !GTK_IS_MENU_SHELL (grab) && + !gtk_widget_is_ancestor (grab, widget)) gtk_menu_shell_cancel (GTK_MENU_SHELL (widget)); menu->priv->drag_scroll_started = FALSE;