summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSøren Sandmann Pedersen <ssp@redhat.com>2012-10-04 21:45:28 -0400
committerSøren Sandmann Pedersen <ssp@redhat.com>2012-10-04 21:45:28 -0400
commit4f5a86a90eba179a74d5ba92887814e5d4dcb504 (patch)
tree1b480cce11ea1e0dd5f235232513b542084c906b
parentf526ff2d6b51c6586bce65a444ca727aa6f76282 (diff)
reset clip
-rw-r--r--fragment.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/fragment.c b/fragment.c
index 832cbb3..1cb3edf 100644
--- a/fragment.c
+++ b/fragment.c
@@ -361,8 +361,9 @@ state_apply (state_t *state, pixman_image_t *image)
case STATE_TRAPS:
/* FIXME: there may be a pixman bug here that we need
- * to work around: it incorrectly clips rendering to the extent
- * of the trapezoids
+ * to fix or work around: it incorrectly clips rendering
+ * to the extent of the trapezoids. (That is wrong for SRC
+ * and other operators).
*/
pixman_composite_trapezoids (
PIXMAN_OP_SRC, white_img, image, PIXMAN_a8,
@@ -430,6 +431,8 @@ fragment_apply (fragment_t *fragment, pixman_image_t *image)
pixman_image_set_clip_region32 (image, &fragment->region);
state_apply (fragment->state, image);
+
+ pixman_image_set_clip_region32 (image, NULL);
return TRUE;
}