diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c index 150e6e00a..62a125601 100644 --- a/src/cairo-xlib-surface.c +++ b/src/cairo-xlib-surface.c @@ -1765,6 +1765,7 @@ _recategorize_composite_operation (cairo_xlib_surface_t *dst, is_integer_translation && src_attr->extend == CAIRO_EXTEND_NONE && ! needs_alpha_composite && + src->owns_pixmap && _surfaces_compatible (src, dst)) { return DO_XCOPYAREA; @@ -1777,6 +1778,7 @@ _recategorize_composite_operation (cairo_xlib_surface_t *dst, { if (! have_mask && ! needs_alpha_composite && + src->owns_pixmap && _surfaces_compatible (dst, src)) { return DO_XTILE;