From 2170bdbb12f38e372ea2ce1c6492c60cb35f22e4 Mon Sep 17 00:00:00 2001 From: Uli Schlachter Date: Fri, 21 Jun 2013 20:36:09 +0200 Subject: image compositor: Always finish the span renderer In some obscure conditions that I don't really understand, the image compositor did not finish a span renderer that it created. This could then cause the last row of the span to be ignored. Fixes: clip-complex-bug61492 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61592 Signed-off-by: Uli Schlachter --- src/cairo-image-compositor.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/cairo-image-compositor.c b/src/cairo-image-compositor.c index a79dc4088..824588208 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), -- cgit v1.2.3