[gnome-shell/wip/carlosg/grab-helper-captured-events: 13/13] popupMenu: Ensure to let focus manager handle key events




commit 8d04867a59667d57465060037ff42e44104115a9
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Feb 1 14:33:03 2022 +0100

    popupMenu: Ensure to let focus manager handle key events
    
    Since the grab no longer lets events bubble up to the stage unstopped,
    we should be forwarding the key events that bubbled up to the dialog
    to maybe cycle focus.
    
    Fixes broken keyboard navigation in several context menus around the
    shell, other than the panel ones.

 js/ui/popupMenu.js | 3 +++
 1 file changed, 3 insertions(+)
---
diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
index a0c00067d1..b464673626 100644
--- a/js/ui/popupMenu.js
+++ b/js/ui/popupMenu.js
@@ -154,6 +154,9 @@ var PopupBaseMenuItem = GObject.registerClass({
     }
 
     vfunc_key_press_event(keyEvent) {
+        if (global.focus_manager.navigate_from_event(Clutter.get_current_event()))
+            return Clutter.EVENT_STOP;
+
         if (!this._activatable)
             return super.vfunc_key_press_event(keyEvent);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]