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.22.19-1+rpi1^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=ffa2a520dc324b6921cc851e13442fac96cf30d5;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. Bug: https://bugzilla.gnome.org/show_bug.cgi?id=786029 Bug-Ubuntu: https://launchpad.net/bugs/1712701 Bug-Debian: https://bugs.debian.org/872687 Gbp-Pq: Name fix-gtk-menu-sliders.patch --- 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;