diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2008-05-09 13:23:02 +0200 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2008-05-09 15:54:12 +0200 |
commit | 440b339da793ba2f71f504328417aefc7d44ee7f (patch) | |
tree | 4ef8fd2b8f557eaac7ace265a3dcc36111e14fb4 | |
parent | 25700f5cd052e5353c868ba0311ff53850e3f549 (diff) | |
download | cairo-440b339da793ba2f71f504328417aefc7d44ee7f.tar.gz |
[cairo-analysis-surface] Hold reference to target surface
-rw-r--r-- | src/cairo-analysis-surface.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cairo-analysis-surface.c b/src/cairo-analysis-surface.c index fbe581201..8f2569a16 100644 --- a/src/cairo-analysis-surface.c +++ b/src/cairo-analysis-surface.c @@ -238,6 +238,8 @@ _cairo_analysis_surface_finish (void *abstract_surface) _cairo_region_fini (&surface->supported_region); _cairo_region_fini (&surface->fallback_region); + cairo_surface_destroy (surface->target); + return CAIRO_STATUS_SUCCESS; } @@ -658,7 +660,7 @@ _cairo_analysis_surface_create (cairo_surface_t *target, cairo_matrix_init_identity (&surface->ctm); surface->has_ctm = FALSE; - surface->target = target; + surface->target = cairo_surface_reference (target); surface->first_op = TRUE; surface->has_supported = FALSE; surface->has_unsupported = FALSE; |