sway/include/sway
Simon Ser d5f5885c94
config/output: don't change output state before commit
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 5432f00adf)
2020-07-15 19:27:12 +02:00
..
desktop Add views idle inhibition status in get_tree output 2020-05-29 17:29:41 -04:00
input seat: Refocus seat when wlr_drag is destroyed 2020-06-30 13:27:51 +02:00
tree commands/move: unwrap workspace container on move to new workspace 2020-07-15 19:22:05 +02:00
commands.h commands: Add per-view shortcuts_inhibitor command 2020-05-13 21:22:16 -04:00
config.h Reload command now matches i3's implementation 2020-07-15 19:27:12 +02:00
criteria.h Introduce pid criteria token 2020-02-27 14:03:22 +01:00
decoration.h Handle views created after decoration mode is sent for xdg-shell 2018-08-06 15:20:30 +01:00
desktop.h Store geometry in the view and handle any floating view resizing 2018-08-18 15:10:06 +10:00
ipc-json.h i3-compat: add GET_BINDING_STATE IPC command 2020-06-14 00:55:14 -04:00
ipc-server.h ipc: add an input event 2019-07-23 20:45:46 +03:00
layers.h Handle layer changes for layer shell surfaces 2019-10-27 11:07:18 -04:00
output.h config/output: don't change output state before commit 2020-07-15 19:27:12 +02:00
server.h Implement wlr-foreign-toplevel-management-v1 2020-06-23 22:26:00 +02:00
surface.h view: add max_render_time 2019-11-17 20:18:42 +01:00
swaynag.h Spawn swaynag as a wayland client 2019-04-14 12:41:59 +03:00
xdg_decoration.h Improve CSD logic 2018-09-27 22:51:37 +10:00
xwayland.h Parse missing i3 window types 2018-10-21 15:59:04 +02:00