modalDialog: 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 focus cycling on keyboard navigation inside dialogs.

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

View File

@ -101,6 +101,13 @@ var ModalDialog = GObject.registerClass({
this.notify('state'); this.notify('state');
} }
vfunc_key_press_event() {
if (global.focus_manager.navigate_from_event(Clutter.get_current_event()))
return Clutter.EVENT_STOP;
return Clutter.EVENT_PROPAGATE;
}
clearButtons() { clearButtons() {
this.dialogLayout.clearButtons(); this.dialogLayout.clearButtons();
} }