From 514d366cde689f8200b049834bebbd421d5d8bcb Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Tue, 27 Apr 2010 11:07:09 +0100 Subject: [PATCH] snapshot: propagate status on finish --- src/cairo-surface-snapshot.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/cairo-surface-snapshot.c b/src/cairo-surface-snapshot.c index 2f3b7922d..4277f66d6 100644 --- a/src/cairo-surface-snapshot.c +++ b/src/cairo-surface-snapshot.c @@ -46,11 +46,16 @@ static cairo_status_t _cairo_surface_snapshot_finish (void *abstract_surface) { cairo_surface_snapshot_t *surface = abstract_surface; + cairo_status_t status = CAIRO_STATUS_SUCCESS; - cairo_surface_finish (surface->clone); - cairo_surface_destroy (surface->clone); + if (surface->clone != NULL) { + cairo_surface_finish (surface->clone); + status = surface->clone->status; - return CAIRO_STATUS_SUCCESS; + cairo_surface_destroy (surface->clone); + } + + return status; } static cairo_status_t