diff options
Diffstat (limited to 'sway/input/input-manager.c')
-rw-r--r-- | sway/input/input-manager.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sway/input/input-manager.c b/sway/input/input-manager.c index 8538d97c..4a0bce0e 100644 --- a/sway/input/input-manager.c +++ b/sway/input/input-manager.c | |||
@@ -289,6 +289,10 @@ static void handle_inhibit_deactivate(struct wl_listener *listener, void *data) | |||
289 | struct sway_input_manager *input_manager = wl_container_of( | 289 | struct sway_input_manager *input_manager = wl_container_of( |
290 | listener, input_manager, inhibit_deactivate); | 290 | listener, input_manager, inhibit_deactivate); |
291 | struct sway_seat *seat; | 291 | struct sway_seat *seat; |
292 | if (server.session_lock.locked) { | ||
293 | // Don't deactivate the grab of a screenlocker | ||
294 | return; | ||
295 | } | ||
292 | wl_list_for_each(seat, &input_manager->seats, link) { | 296 | wl_list_for_each(seat, &input_manager->seats, link) { |
293 | seat_set_exclusive_client(seat, NULL); | 297 | seat_set_exclusive_client(seat, NULL); |
294 | struct sway_node *previous = seat_get_focus(seat); | 298 | struct sway_node *previous = seat_get_focus(seat); |