summaryrefslogtreecommitdiff
path: root/src/cairo-gstate.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-10-12 17:09:12 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2011-10-12 17:09:12 +0100
commitf84f6ecaa46d6e6ab1ebdf024fddc46bfacf2c0c (patch)
treeda4024f9336d3a1b20962cbf57c84eabb3df78eb /src/cairo-gstate.c
parent8f34fa033e741eed040ff8895fcb94b8507903b8 (diff)
downloadcairo-f84f6ecaa46d6e6ab1ebdf024fddc46bfacf2c0c.tar.gz
gstate: Prevent leak of old clip when creating a group with translation
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-gstate.c')
-rw-r--r--src/cairo-gstate.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/cairo-gstate.c b/src/cairo-gstate.c
index c37fd8b40..d232f9b51 100644
--- a/src/cairo-gstate.c
+++ b/src/cairo-gstate.c
@@ -319,6 +319,7 @@ _cairo_gstate_redirect_target (cairo_gstate_t *gstate, cairo_surface_t *child)
/* The clip is in surface backend coordinates for the previous target;
* translate it into the child's backend coordinates. */
+ _cairo_clip_destroy (gstate->clip);
gstate->clip = _cairo_clip_copy_with_translation (gstate->next->clip,
child->device_transform.x0 - gstate->parent_target->device_transform.x0,
child->device_transform.y0 - gstate->parent_target->device_transform.y0);