Hi, FWIW attached is an attempt at patching the Debian package, introducing the patch from the report. Resulting packages fix the issue and seem to work great so far.
Regards, Colomban
Index: debian/changelog =================================================================== --- debian/changelog (révision 51801) +++ debian/changelog (copie de travail) @@ -1,3 +1,12 @@ +gtk+2.0 (2.24.31-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * debian/patches/006_GtkMenuShell-always-activate-menu-shells.patch: + - Backport GTK3 fix to avoid stuck menu grabs in some cases. + Closes: #847438. + + -- Colomban Wendling <cwendl...@hypra.fr> Fri, 09 Dec 2016 15:59:24 +0100 + gtk+2.0 (2.24.31-1) unstable; urgency=medium * New upstream release. Index: debian/patches/006_GtkMenuShell-always-activate-menu-shells.patch =================================================================== --- debian/patches/006_GtkMenuShell-always-activate-menu-shells.patch (nonexistent) +++ debian/patches/006_GtkMenuShell-always-activate-menu-shells.patch (copie de travail) @@ -0,0 +1,85 @@ +Description: GtkMenuShell: always 'activate' menu shells + Failing to do so can leave us with a stuck grab in some cases. + https://bugzilla.gnome.org/show_bug.cgi?id=554057 + . + Cherry-picks f5eee56b56e2f371a0dc659f2d402b0cfc1c42c2, + 9833fbd77a63ee5dd8f6b5519831db2a4b29ebb9 and + 4eac7f24177d947852574f11ef483b1c43fd17e5 from GTK3. +Author: Colomban Wendling <cwendl...@hypra.fr> +Origin: backport, https://bugzilla.gnome.org/show_bug.cgi?id=554057#c18 +Bug: https://bugzilla.gnome.org/show_bug.cgi?id=554057 +Bug-Debian: https://bugs.debian.org/847438 + +diff --git a/gtk/gtkmenubar.c b/gtk/gtkmenubar.c +index 05de45c..e3b9554 100644 +--- a/gtk/gtkmenubar.c ++++ b/gtk/gtkmenubar.c +@@ -618,7 +618,6 @@ window_key_press_handler (GtkWidget *widget, + GtkMenuShell *menu_shell = GTK_MENU_SHELL (menubars->data); + + _gtk_menu_shell_set_keyboard_mode (menu_shell, TRUE); +- _gtk_menu_shell_activate (menu_shell); + gtk_menu_shell_select_first (menu_shell, FALSE); + + g_list_free (menubars); +diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c +index 8f23b75..b706c7d 100644 +--- a/gtk/gtkmenuitem.c ++++ b/gtk/gtkmenuitem.c +@@ -1433,8 +1433,6 @@ gtk_real_menu_item_activate_item (GtkMenuItem *menu_item) + { + GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget->parent); + +- _gtk_menu_shell_activate (menu_shell); +- + gtk_menu_shell_select_item (GTK_MENU_SHELL (widget->parent), widget); + _gtk_menu_item_popup_submenu (widget, FALSE); + +diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c +index a7ad7b5..48de6a8 100644 +--- a/gtk/gtkmenushell.c ++++ b/gtk/gtkmenushell.c +@@ -563,8 +563,8 @@ gtk_menu_shell_realize (GtkWidget *widget) + gtk_style_set_background (widget->style, widget->window, GTK_STATE_NORMAL); + } + +-void +-_gtk_menu_shell_activate (GtkMenuShell *menu_shell) ++static void ++gtk_menu_shell_activate (GtkMenuShell *menu_shell) + { + if (!menu_shell->active) + { +@@ -609,7 +609,7 @@ gtk_menu_shell_button_press (GtkWidget *widget, + + if (!menu_shell->active || !menu_shell->button) + { +- _gtk_menu_shell_activate (menu_shell); ++ gtk_menu_shell_activate (menu_shell); + + menu_shell->button = event->button; + +@@ -1204,6 +1204,8 @@ gtk_menu_shell_real_select_item (GtkMenuShell *menu_shell, + return; + } + ++ gtk_menu_shell_activate (menu_shell); ++ + menu_shell->active_menu_item = menu_item; + if (pack_dir == GTK_PACK_DIRECTION_TTB || pack_dir == GTK_PACK_DIRECTION_BTT) + _gtk_menu_item_set_placement (GTK_MENU_ITEM (menu_shell->active_menu_item), +diff --git a/gtk/gtkmenushell.h b/gtk/gtkmenushell.h +index 7672a2b..2d90c33 100644 +--- a/gtk/gtkmenushell.h ++++ b/gtk/gtkmenushell.h +@@ -116,7 +116,6 @@ void gtk_menu_shell_select_first (GtkMenuShell *menu_shell, + gboolean search_sensitive); + void _gtk_menu_shell_select_last (GtkMenuShell *menu_shell, + gboolean search_sensitive); +-void _gtk_menu_shell_activate (GtkMenuShell *menu_shell); + gint _gtk_menu_shell_get_popup_delay (GtkMenuShell *menu_shell); + void gtk_menu_shell_cancel (GtkMenuShell *menu_shell); + +-- +2.1.4 + Index: debian/patches/series =================================================================== --- debian/patches/series (révision 51801) +++ debian/patches/series (copie de travail) @@ -3,6 +3,7 @@ 003_gdk.pc_privates.patch 004_gtk+-ximian-gtk2-filesel-navbutton-5.patch 005_support_disabling_x11_extensions.patch +006_GtkMenuShell-always-activate-menu-shells.patch 015_default-fallback-icon-theme.patch 022_disable-viqr-im-for-vi-locale.patch 042_treeview_single-focus.patch