image: Fix surface acquisition if PIXMAN_HAS_ATOMIC_OPS

If PIXMAN_HAS_ATOMIC_OPS, ix and iy will be changed if the source
surface is of subsurface type. They need to be reset to 0 before being
passed to _cairo_matrix_to_pixman_matrix_offset() or the acquired
surface will have an incorrect offset .
This commit is contained in:
Andrea Canciani 2011-02-19 19:13:59 +01:00
parent 71e8a4c230
commit 47f70537b8

View file

@ -1417,6 +1417,10 @@ _pixman_image_for_surface (const cairo_surface_pattern_t *pattern,
}
}
#if PIXMAN_HAS_ATOMIC_OPS
*ix = *iy = 0;
#endif
if (pixman_image == NULL) {
struct acquire_source_cleanup *cleanup;
cairo_image_surface_t *image;