60a1d79de7
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. |
||
---|---|---|
.. | ||
arrange.c | ||
container.c | ||
node.c | ||
output.c | ||
root.c | ||
view.c | ||
workspace.c |