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. |
||
|---|---|---|
| .. | ||
| desktop.c | ||
| idle_inhibit_v1.c | ||
| layer_shell.c | ||
| output.c | ||
| render.c | ||
| transaction.c | ||
| xdg_shell.c | ||
| xdg_shell_v6.c | ||
| xwayland.c | ||