summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
}