compositor: Accumulate obscured damage into the primary plane damage

When accumulating damage in the surfaces into the primary plane damage,
regions obscured by the opaque region would be excluded. This causes a
bug when a redraw of a surface is obscured by an opaque surface on
another plane. The drawing to the former surface is clipped but
its damage is never added to the primary plane and is just lost. Moving
the opaque window later reveals the not-up-to-date content below it.
This commit is contained in:
Ander Conselvan de Oliveira 2012-09-12 17:16:31 +03:00 committed by Kristian Høgsberg
parent 0d64a0fa29
commit 547149a9c2

View file

@ -847,7 +847,6 @@ surface_accumulate_damage(struct weston_surface *surface,
surface->geometry.y - surface->plane->y);
}
pixman_region32_subtract(&surface->damage, &surface->damage, opaque);
pixman_region32_union(&surface->plane->damage,
&surface->plane->damage, &surface->damage);
empty_region(&surface->damage);