We need the call to fixup_unbounded when we optimize the RENDER operator to XCopyArea as well.

This commit is contained in:
Owen Taylor 2005-08-19 12:55:00 +00:00
parent 7468ed35a1
commit 8eb912577b
2 changed files with 18 additions and 11 deletions

View file

@ -1,3 +1,9 @@
2005-08-18 Owen Taylor <otaylor@redhat.com>
* src/cairo-xlib-surface.c (_cairo_xlib_surface_composite): We need
the call to fixup_unbounded when we optimize the RENDER operator
to XCopyArea as well.
2005-08-19 Carl Worth <cworth@cworth.org>
Fixes for a general problem of which bug #4094 was a specific

View file

@ -1140,17 +1140,6 @@ _cairo_xlib_surface_composite (cairo_operator_t operator,
width, height);
}
if (!_cairo_operator_bounded (operator) ||
operator == CAIRO_OPERATOR_SOURCE ||
operator == CAIRO_OPERATOR_CLEAR)
status = _cairo_surface_composite_fixup_unbounded (&dst->base,
&src_attr, src->width, src->height,
mask ? &mask_attr : NULL,
mask ? mask->width : 0,
mask ? mask->height : 0,
src_x, src_y,
mask_x, mask_y,
dst_x, dst_y, width, height);
break;
case DO_XCOPYAREA:
@ -1190,6 +1179,18 @@ _cairo_xlib_surface_composite (cairo_operator_t operator,
ASSERT_NOT_REACHED;
}
if (!_cairo_operator_bounded (operator) ||
operator == CAIRO_OPERATOR_SOURCE ||
operator == CAIRO_OPERATOR_CLEAR)
status = _cairo_surface_composite_fixup_unbounded (&dst->base,
&src_attr, src->width, src->height,
mask ? &mask_attr : NULL,
mask ? mask->width : 0,
mask ? mask->height : 0,
src_x, src_y,
mask_x, mask_y,
dst_x, dst_y, width, height);
FAIL:
if (mask)