summaryrefslogtreecommitdiff
path: root/src/cairo-clip.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-05-05 09:33:36 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2010-05-05 09:46:35 +0100
commitad541a1ec62e18bcaf74994affbdb0503e277f9c (patch)
tree80c8fac9ce52635f27ecad97fc4ddc079bbeaacd /src/cairo-clip.c
parent4bc54643f5cdeddf2145d28c317b55ca6b5949a5 (diff)
downloadcairo-ad541a1ec62e18bcaf74994affbdb0503e277f9c.tar.gz
clip: Propagate memfault from translating clip region
Diffstat (limited to 'src/cairo-clip.c')
-rw-r--r--src/cairo-clip.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/cairo-clip.c b/src/cairo-clip.c
index 7c3a1d555..0b511255d 100644
--- a/src/cairo-clip.c
+++ b/src/cairo-clip.c
@@ -443,6 +443,12 @@ _cairo_clip_path_reapply_clip_path_translate (cairo_clip_t *clip,
clip_path->flags = other_path->flags;
if (other_path->region != NULL) {
clip_path->region = cairo_region_copy (other_path->region);
+ if (unlikely (status = clip_path->region->status)) {
+ clip->path = clip->path->prev;
+ _cairo_clip_path_destroy (clip_path);
+ return status;
+ }
+
cairo_region_translate (clip_path->region, tx, ty);
}
clip_path->surface = cairo_surface_reference (other_path->surface);