From ca1da1b349dfaf2a919a1ffb85a60edd221d9a75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Sun, 4 Oct 2015 00:51:44 +0200 Subject: [PATCH] apps-menu: Fix up hover state after dropping grab Category items grab the pointer to implement "triangle navigation", which interferes with automatic hover tracking in other widgets. While this is the correct behavior while we hold the grab (i.e. when crossing other category items without switching), it can interfere with user expectation when the grab is dropped, as the motion event that causes us to do so doesn't necessarily occur before the "target"'s enter event - address this by syncing up the hover state manually after dropping the grab. https://bugzilla.gnome.org/show_bug.cgi?id=754959 --- extensions/apps-menu/extension.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js index ddd8458d..3180f3a3 100644 --- a/extensions/apps-menu/extension.js +++ b/extensions/apps-menu/extension.js @@ -190,6 +190,11 @@ const CategoryMenuItem = new Lang.Class({ this._oldY = -1; this.actor.hover = false; Clutter.ungrab_pointer(); + + let source = event.get_source(); + if (source instanceof St.Widget) + source.sync_hover(); + return false; },