compositor: fix transformed opaque surface repainting
authorPekka Paalanen <ppaalanen@gmail.com>
Mon, 6 Feb 2012 14:26:57 +0000 (16:26 +0200)
committerPekka Paalanen <ppaalanen@gmail.com>
Mon, 6 Feb 2012 14:26:57 +0000 (16:26 +0200)
Computing the real maximal opaque screen aligned rectangle of a
transformed surface is hard. Let's drop the opaque optimisation
instead.

Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
src/compositor.c

index bd5d2e7..a74ac30 100644 (file)
@@ -474,7 +474,8 @@ weston_surface_configure(struct weston_surface *surface,
        weston_surface_damage(surface);
 
        pixman_region32_fini(&surface->opaque);
-       if (surface->visual == WESTON_RGB_VISUAL)
+       if (surface->visual == WESTON_RGB_VISUAL &&
+           surface->transform.enabled == 0)
                pixman_region32_init_rect(&surface->opaque,
                                          surface->geometry.x,
                                          surface->geometry.y,