mirror of
https://github.com/NickHu/sway
synced 2025-01-02 06:20:02 +01:00
8533c35a9f
Fixes #2303, as well as a crash. To replicate the crash: * Have multiple outputs * In config: for_window [<criteria>] workspace foo * Also in config: workspace foo output <left-output-name> * Focus the right output, and ensure workspace foo doesn't exist * Launch the app that triggers the criteria When the view maps, it calls workspace_switch which calls send_set_focus which calls cursor_send_pointer_motion which calls transaction_commit_dirty. This call to transaction_commit_dirty is not meant to happen at this time because the tree isn't guaranteed to be in a consistent state, but I'm not sure how exactly this leads to the crash or render issues. In this case the transaction is already committed by the view implementation's handle_map function. So the solution is to remove it from cursor_send_pointer_motion and add it to the other functions in cursor.c which call cursor_send_pointer_motion. |
||
---|---|---|
.. | ||
commands | ||
config | ||
desktop | ||
input | ||
tree | ||
base64.c | ||
commands.c | ||
config.c | ||
criteria.c | ||
debug-tree.c | ||
ipc-json.c | ||
ipc-server.c | ||
main.c | ||
meson.build | ||
security.c | ||
server.c | ||
sway-bar.5.scd | ||
sway-input.5.scd | ||
sway.1.scd | ||
sway.5.scd |