diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c index 19372be..ba6266f 100644 --- a/src/cairo-image-compositor.c +++ b/src/cairo-image-compositor.c @@ -3028,11 +3028,12 @@ span_renderer_fini (cairo_abstract_span_renderer_t *_r, TRACE ((stderr, "%s\n", __FUNCTION__)); - if (likely (status == CAIRO_INT_STATUS_SUCCESS && r->bpp == 0)) { - const cairo_composite_rectangles_t *composite = r->composite; - + if (likely (status == CAIRO_INT_STATUS_SUCCESS)) { if (r->base.finish) r->base.finish (r); + } + if (likely (status == CAIRO_INT_STATUS_SUCCESS && r->bpp == 0)) { + const cairo_composite_rectangles_t *composite = r->composite; pixman_image_composite32 (r->op, r->src, r->mask, to_pixman_image (composite->surface),