diff options
author | Simon Ser <contact@emersion.fr> | 2023-06-05 14:35:15 +0200 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2023-06-05 14:35:15 +0200 |
commit | 55b5da64825fdbaff0961fcb01b7318b99d2945e (patch) | |
tree | 6f2cc5399566e0bc9bda35bbadd660c9291e451d | |
parent | xwayland: fix mapped state check in OR handlers (diff) | |
download | sway-output-detached-state.tar.gz sway-output-detached-state.tar.zst sway-output-detached-state.zip |
desktop/output: use detached output state for page-flipsoutput-detached-state
This avoids relying on the implicit wlr_output.pending state.
-rw-r--r-- | sway/desktop/output.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c index fe1fa8af..5c899c3e 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c | |||
@@ -651,10 +651,13 @@ static int output_repaint_timer_handler(void *data) { | |||
651 | return false; | 651 | return false; |
652 | } | 652 | } |
653 | 653 | ||
654 | wlr_output_attach_buffer(wlr_output, buffer); | 654 | struct wlr_output_state state = {0}; |
655 | wlr_output_state_set_buffer(&state, buffer); | ||
655 | wlr_buffer_unlock(buffer); | 656 | wlr_buffer_unlock(buffer); |
656 | 657 | ||
657 | if (!wlr_output_commit(wlr_output)) { | 658 | bool ok = wlr_output_commit_state(wlr_output, &state); |
659 | wlr_output_state_finish(&state); | ||
660 | if (!ok) { | ||
658 | return 0; | 661 | return 0; |
659 | } | 662 | } |
660 | 663 | ||