diff options
Diffstat (limited to 'sway/input/seat.c')
-rw-r--r-- | sway/input/seat.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sway/input/seat.c b/sway/input/seat.c index 16acc8a5..89d841bb 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c | |||
@@ -389,12 +389,15 @@ static void seat_update_capabilities(struct sway_seat *seat) { | |||
389 | break; | 389 | break; |
390 | } | 390 | } |
391 | } | 391 | } |
392 | wlr_seat_set_capabilities(seat->wlr_seat, caps); | ||
393 | 392 | ||
394 | // Hide cursor if seat doesn't have pointer capability | 393 | // Hide cursor if seat doesn't have pointer capability. |
394 | // We must call cursor_set_image while the wlr_seat has the capabilities | ||
395 | // otherwise it's a no op. | ||
395 | if ((caps & WL_SEAT_CAPABILITY_POINTER) == 0) { | 396 | if ((caps & WL_SEAT_CAPABILITY_POINTER) == 0) { |
396 | cursor_set_image(seat->cursor, NULL, NULL); | 397 | cursor_set_image(seat->cursor, NULL, NULL); |
398 | wlr_seat_set_capabilities(seat->wlr_seat, caps); | ||
397 | } else { | 399 | } else { |
400 | wlr_seat_set_capabilities(seat->wlr_seat, caps); | ||
398 | cursor_set_image(seat->cursor, "left_ptr", NULL); | 401 | cursor_set_image(seat->cursor, "left_ptr", NULL); |
399 | } | 402 | } |
400 | } | 403 | } |