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.
Ander Conselvan de Oliveira 12 years ago committed by Kristian Høgsberg
parent 0d64a0fa29
commit 547149a9c2
  1. 1
      src/compositor.c

@ -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);

Loading…
Cancel
Save