libweston: Fix clear timing of output repainted flag
Since the repaint status of the flushed output may be reset if a output
repaint is failed, it is necessary to clear the repainted flag
immediately after output repaint flush/cancel.
Signed-off-by: Tomohito Esaki <etom@igel.co.jp>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
diff --git a/libweston/compositor.c b/libweston/compositor.c
index 516be96..9deb781 100644
--- a/libweston/compositor.c
+++ b/libweston/compositor.c
@@ -2450,8 +2450,6 @@
int ret = 0;
int64_t msec_to_repaint;
- output->repainted = false;
-
/* We're not ready yet; come back to make a decision later. */
if (output->repaint_status != REPAINT_SCHEDULED)
return ret;
@@ -2563,6 +2561,9 @@
repaint_data);
}
+ wl_list_for_each(output, &compositor->output_list, link)
+ output->repainted = false;
+
output_repaint_timer_arm(compositor);
return 0;