From: Søren Sandmann Pedersen Date: Wed, 28 Jul 2010 07:17:35 +0000 (-0400) Subject: If we bail out of do_composite, make sure to undo any workarounds. X-Git-Tag: 1.0_branch~535 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cc9221ce96c23f6d6f1a17d98e5221e3aeff6567;p=profile%2Fivi%2Fpixman.git If we bail out of do_composite, make sure to undo any workarounds. The workaround for an old X bug has to be undone if we bail from do_composite, so we can't just return. --- diff --git a/pixman/pixman.c b/pixman/pixman.c index 318226d..0333a40 100644 --- a/pixman/pixman.c +++ b/pixman/pixman.c @@ -742,7 +742,7 @@ do_composite (pixman_op_t op, ®ion, src, mask, dest, src_x, src_y, mask_x, mask_y, dest_x, dest_y, width, height)) { - return; + goto out; } extents = pixman_region32_extents (®ion); @@ -759,7 +759,7 @@ do_composite (pixman_op_t op, */ op = optimize_operator (op, src_flags, mask_flags, dest_flags); if (op == PIXMAN_OP_DST) - return; + goto out; lookup_composite_function (op, src_format, src_flags, @@ -776,6 +776,7 @@ do_composite (pixman_op_t op, (mask_flags & FAST_PATH_SIMPLE_REPEAT), ®ion, func); +out: if (need_workaround) { unapply_workaround (src, src_bits, src_dx, src_dy);