From 945a346596b163e459d7bd4896258f8546c861b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Mon, 10 May 2021 17:49:15 +0200 Subject: [PATCH] =?UTF-8?q?shm:=20clear=20buffer=E2=80=99s=20dirty=20regio?= =?UTF-8?q?n=20before=20returning=20a=20cached=20buffer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A non-busy buffer should always have an empty dirty region --- render.c | 2 -- shm.c | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/render.c b/render.c index c65cc7e9..a7297412 100644 --- a/render.c +++ b/render.c @@ -2290,8 +2290,6 @@ grid_render(struct terminal *term) xassert(tll_length(term->render.workers.queue) == 0); } - pixman_region32_clear(&buf->dirty); - int first_dirty_row = -1; for (int r = 0; r < term->rows; r++) { struct row *row = grid_row_in_view(term->grid, r); diff --git a/shm.c b/shm.c index 4b503d22..ed20af3a 100644 --- a/shm.c +++ b/shm.c @@ -250,6 +250,7 @@ shm_get_buffer(struct wl_shm *shm, int width, int height, unsigned long cookie, cookie, (void *)&it->item); it->item.busy = true; it->item.purge = false; + pixman_region32_clear(&it->item.dirty); free(it->item.scroll_damage); it->item.scroll_damage = NULL; xassert(it->item.pix_instances == pix_instances);