[PATCH weston] libweston: Fix clear timing of output repainted flag

Tomohito Esaki etom at igel.co.jp
Tue Jul 10 02:47:15 UTC 2018


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 at igel.co.jp>
---
 libweston/compositor.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

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 @@ weston_output_maybe_repaint(struct weston_output *output, struct timespec *now,
 	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 @@ output_repaint_timer_handler(void *data)
 							    repaint_data);
 	}
 
+	wl_list_for_each(output, &compositor->output_list, link)
+		output->repainted = false;
+
 	output_repaint_timer_arm(compositor);
 
 	return 0;
-- 
2.7.4



More information about the wayland-devel mailing list