diff --git a/src/backend/backend.c b/src/backend/backend.c index ee8682d0..d3b4ed5a 100644 --- a/src/backend/backend.c +++ b/src/backend/backend.c @@ -229,6 +229,14 @@ void paint_all_new(session_t *ps, win *const t, bool ignore_damage) { pixman_region32_fini(®_bound); pixman_region32_fini(®_paint); } + pixman_region32_fini(®_damage); + + // Move the head of the damage ring + ps->damage = ps->damage - 1; + if (ps->damage < ps->damage_ring) { + ps->damage = ps->damage_ring + ps->ndamage - 1; + } + pixman_region32_clear(ps->damage); if (ps->backend_data->ops->present) { // Present the rendered scene