The transaction system contains a necessary optimization where a popped transaction is combined with later, similar transactions. This breaks the chronological order of states, and can lead to desynchronized geometries. To fix this, we replace the queue with only 2 transactions: current and pending. If a pending transaction exists, it is updated with new state instead of creating additional transactions. As we never have more than a single waiting transaction, we no longer need the queue optimization that is causing problems. Closes: https://github.com/swaywm/sway/issues/6012 |
||
|---|---|---|
| .. | ||
| desktop.c | ||
| idle_inhibit_v1.c | ||
| layer_shell.c | ||
| output.c | ||
| render.c | ||
| surface.c | ||
| transaction.c | ||
| xdg_shell.c | ||
| xwayland.c | ||