Rebase cursor when a layer surface maps

Also removes an extraneous arrange_outputs call, it's already called if
necessary in arrange_layers.

Updates https://github.com/swaywm/sway/issues/3080
This commit is contained in:
emersion 2019-02-12 22:55:23 +01:00 committed by Drew DeVault
parent e4e579ea36
commit 06e03ed878
4 changed files with 20 additions and 10 deletions

View file

@ -283,6 +283,19 @@ void cursor_rebase(struct sway_cursor *cursor) {
cursor_do_rebase(cursor, time_msec, cursor->previous.node, surface, sx, sy);
}
void cursor_rebase_all(void) {
if (!root->outputs->length) {
return;
}
struct sway_seat *seat;
wl_list_for_each(seat, &server.input->seats, link) {
if (!seat_doing_seatop(seat)) {
cursor_rebase(seat->cursor);
}
}
}
static int hide_notify(void *data) {
struct sway_cursor *cursor = data;
wlr_cursor_set_image(cursor->cursor, NULL, 0, 0, 0, 0, 0, 0);