From 3fed79d1c24f07618243bb197b44a9fd106aebbc Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sun, 13 Jan 2008 10:28:11 +0000 Subject: [PATCH] [cairo-paginated-surface] Set error on surface for operations done its behalf. Ensure that the error is propagated to the target surface if we fail whilst performing an operation on its behalf, for example set the size of the paginated surface. --- src/cairo-paginated-surface.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/cairo-paginated-surface.c b/src/cairo-paginated-surface.c index eb9699a44..6af4be6e6 100644 --- a/src/cairo-paginated-surface.c +++ b/src/cairo-paginated-surface.c @@ -149,7 +149,7 @@ _cairo_paginated_surface_set_size (cairo_surface_t *surface, width, height); status = cairo_surface_status (paginated_surface->meta); if (status) - return status; + return _cairo_surface_set_error (surface, status); return CAIRO_STATUS_SUCCESS; } @@ -293,7 +293,8 @@ _paint_page (cairo_paginated_surface_t *surface) analysis = _cairo_analysis_surface_create (surface->target, surface->width, surface->height); if (analysis == NULL) - return _cairo_error (CAIRO_STATUS_NO_MEMORY); + return _cairo_surface_set_error (surface->target, + CAIRO_STATUS_NO_MEMORY); surface->backend->set_paginated_mode (surface->target, CAIRO_PAGINATED_MODE_ANALYZE); status = _cairo_meta_surface_replay_and_create_regions (surface->meta, analysis);