mirror of
https://github.com/swaywm/sway.git
synced 2025-11-05 13:29:51 -05:00
Previously, we called output_disable prior to wlr_output_commit. This
mutates Sway's output state before the output commit actually succeeds.
This results in Sway's state getting out-of-sync with wlroots'.
An alternative fix [1] was to revert the changes made by output_disable
in case of failure. This is a little complicated. Instead, this patch
makes it so Sway's internal state is never changed before a successful
wlr_output commit.
We had two output flags: enabled and configured. However enabled was set
prior to the output becoming enabled, and was used to prevent the output
event handlers (specifically, the mode handler) from calling
apply_output_config again (infinite loop).
Rename enabled to enabling and use it exclusively for this purpose.
Rename configure to enabled, because that's what it really means.
[1]: https://github.com/swaywm/sway/pull/5521
Closes: https://github.com/swaywm/sway/issues/5483
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| desktop | ||
| input | ||
| tree | ||
| commands.h | ||
| config.h | ||
| criteria.h | ||
| decoration.h | ||
| desktop.h | ||
| ipc-json.h | ||
| ipc-server.h | ||
| layers.h | ||
| output.h | ||
| server.h | ||
| surface.h | ||
| swaynag.h | ||
| xdg_decoration.h | ||
| xwayland.h | ||