lockScreen: Extend modal grab to entire uiGroup

Main.pushModal() used to ensure a compositor grab, but didn't
take an input grab. That changed when porting to ClutterGrab,
so by limiting the grab to the shield/dialog, it is no longer
possible to access top bar menus when the screen is locked.

To fix that, take the grab on the whole uiGroup so that the top
bar is included.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5470

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2298>
This commit is contained in:
Florian Müllner
2022-05-13 14:30:00 +02:00
parent 3290ef4eb6
commit 3e7ce18dcf
2 changed files with 2 additions and 2 deletions

View File

@ -873,7 +873,7 @@ var UnlockDialog = GObject.registerClass({
timestamp,
actionMode: Shell.ActionMode.UNLOCK_SCREEN,
};
let grab = Main.pushModal(this, modalParams);
let grab = Main.pushModal(Main.uiGroup, modalParams);
if (grab.get_seat_state() !== Clutter.GrabState.ALL) {
Main.popModal(grab);
return false;