[cairo-commit] src/cairo-image-surface.c

Andrea Canciani ranma42 at kemper.freedesktop.org
Sat Feb 19 10:27:13 PST 2011


 src/cairo-image-surface.c |    4 ++++
 1 file changed, 4 insertions(+)

New commits:
commit 47f70537b8baa0afdd28dd5c523d1956f17455cd
Author: Andrea Canciani <ranma42 at gmail.com>
Date:   Sat Feb 19 19:13:59 2011 +0100

    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 .

diff --git a/src/cairo-image-surface.c b/src/cairo-image-surface.c
index 9006492..bf22cb5 100644
--- a/src/cairo-image-surface.c
+++ b/src/cairo-image-surface.c
@@ -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;


More information about the cairo-commit mailing list