From edf5082a4cb41a9e9f1146835f84020c283cdd09 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Sun, 10 Jan 2021 17:00:09 +0100 Subject: [PATCH] output-damage: use output commit event Instead of relying on output.pending.committed, use wlr_output_event_commit to find out whether a buffer was committed. Eventually output.pending will be cleared before the commit event is emitted. References: https://github.com/swaywm/wlroots/issues/2098 --- types/wlr_output_damage.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/types/wlr_output_damage.c b/types/wlr_output_damage.c index ade0375e..35949412 100644 --- a/types/wlr_output_damage.c +++ b/types/wlr_output_damage.c @@ -59,8 +59,9 @@ static void output_handle_frame(struct wl_listener *listener, void *data) { static void output_handle_commit(struct wl_listener *listener, void *data) { struct wlr_output_damage *output_damage = wl_container_of(listener, output_damage, output_commit); + struct wlr_output_event_commit *event = data; - if (!(output_damage->output->pending.committed & WLR_OUTPUT_STATE_BUFFER)) { + if (!(event->committed & WLR_OUTPUT_STATE_BUFFER)) { return; }