diff options
author | Tomohito Esaki <etom@igel.co.jp> | 2018-07-10 11:47:15 +0900 |
---|---|---|
committer | Pekka Paalanen <pekka.paalanen@collabora.co.uk> | 2018-07-10 15:40:52 +0300 |
commit | ddaf95c5a1f0caa88a7c9348ef7af9fd07d1e8d6 (patch) | |
tree | 1c339c5a1b393b9c42c0208ff4d52b96bad07074 | |
parent | 8108239c39e0e79f08827780d9f848dfaf4e50cf (diff) |
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>
-rw-r--r-- | libweston/compositor.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libweston/compositor.c b/libweston/compositor.c index 516be96b..9deb7817 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; |