From 4bc54643f5cdeddf2145d28c317b55ca6b5949a5 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Tue, 4 May 2010 21:36:03 +0100 Subject: [PATCH] image: Propagate failure from pixman_image_set_clip_region() --- src/cairo-image-surface.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/cairo-image-surface.c b/src/cairo-image-surface.c index 8f1e87bf2..04a907c1f 100644 --- a/src/cairo-image-surface.c +++ b/src/cairo-image-surface.c @@ -1886,9 +1886,16 @@ _create_composite_mask_pattern (cairo_clip_t *clip, /* Is it worth setting the clip region here? */ if (clip_region != NULL) { + pixman_bool_t ret; + pixman_region32_translate (&clip_region->rgn, -extents->x, -extents->y); - pixman_image_set_clip_region32 (mask, &clip_region->rgn); + ret = pixman_image_set_clip_region32 (mask, &clip_region->rgn); pixman_region32_translate (&clip_region->rgn, extents->x, extents->y); + + if (! ret) { + pixman_image_unref (mask); + return NULL; + } } status = draw_func (draw_closure,