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.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2140>
This commit is contained in:
Carlos Garnacho 2022-02-01 14:33:03 +01:00 committed by Marge Bot
parent fcf70aa021
commit 939e26eb43

View File

@ -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);