diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-04-27 11:07:09 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-04-27 11:09:25 +0100 |
commit | 514d366cde689f8200b049834bebbd421d5d8bcb (patch) | |
tree | 66d44cae2c44da90498e0c8dba8c29acfca53df5 /src/cairo-surface-snapshot.c | |
parent | a505104013a1db0c8b1092c8a1848d7f0b02e6bc (diff) | |
download | cairo-514d366cde689f8200b049834bebbd421d5d8bcb.tar.gz |
snapshot: propagate status on finish
Diffstat (limited to 'src/cairo-surface-snapshot.c')
-rw-r--r-- | src/cairo-surface-snapshot.c | 11 |
1 files 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 |