swayfx/sway/input
Ryan Dwyer 8533c35a9f Fix crash and render issues involving cursor_send_pointer_motion
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.
2018-07-19 19:49:50 +10:00
..
cursor.c Fix crash and render issues involving cursor_send_pointer_motion 2018-07-19 19:49:50 +10:00
input-manager.c Implement tap_button_map for input devices 2018-07-14 01:01:47 -04:00
keyboard.c Make focus part of transactions 2018-07-15 22:08:26 +10:00
seat.c Don't unfocus when an override redirect window is mapped 2018-07-18 20:00:48 +01:00