From 60a1d79de71660949f7a6fc83e242d9d95c75187 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Thu, 25 Oct 2018 23:30:09 +1000 Subject: Rebase the cursor after applying transactions This approaches cursor rebasing from a different angle. Rather than littering the codebase with cursor_rebase calls and using transaction callbacks, this just runs cursor_rebase after applying every transaction - but only if there's outputs connected, because otherwise it causes a crash during shutdown. There is one known case where we still need to call cursor_rebase directly, and that's when running `seat seat0 cursor move ...`. This command doesn't set anything as dirty so no transaction occurs. --- sway/input/seat.c | 1 - 1 file changed, 1 deletion(-) (limited to 'sway/input/seat.c') diff --git a/sway/input/seat.c b/sway/input/seat.c index 89d841bb..577619a7 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c @@ -1196,5 +1196,4 @@ void seat_consider_warp_to_focus(struct sway_seat *seat) { } else { cursor_warp_to_workspace(seat->cursor, focus->sway_workspace); } - cursor_rebase(seat->cursor); } -- cgit v1.2.3-54-g00ecf