1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/gfx/cairo/fix-xcopyarea-with-clips.patch Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,38 @@ 1.4 +From: Benjamin Otte <otte@redhat.com> 1.5 +Date: Thu, 29 Apr 2010 16:20:59 +0000 1.6 +Subject: xlib: Don't modify variables that are needed later 1.7 + 1.8 +In the XCopyArea region code, don't modify src_x/y when they are later 1.9 +used in the unbounded fixup code. 1.10 + 1.11 +Exposed by composite-integer-translate-source test. 1.12 +--- 1.13 +diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c 1.14 +index bedc3fd..30c08d3 100644 1.15 +--- a/gfx/cairo/cairo/src/cairo-xlib-surface.c 1.16 ++++ b/gfx/cairo/cairo/src/cairo-xlib-surface.c 1.17 +@@ -2322,10 +2322,10 @@ _cairo_xlib_surface_composite (cairo_operator_t op, 1.18 + width, height, 1.19 + dst_x, dst_y); 1.20 + } else { 1.21 +- int n, num_rects; 1.22 ++ int n, num_rects, x, y; 1.23 + 1.24 +- src_x += src_attr.x_offset + itx - dst_x; 1.25 +- src_y += src_attr.y_offset + ity - dst_y; 1.26 ++ x = src_x + src_attr.x_offset + itx - dst_x; 1.27 ++ y = src_y + src_attr.y_offset + ity - dst_y; 1.28 + 1.29 + num_rects = cairo_region_num_rectangles (clip_region); 1.30 + for (n = 0; n < num_rects; n++) { 1.31 +@@ -2333,7 +2333,7 @@ _cairo_xlib_surface_composite (cairo_operator_t op, 1.32 + 1.33 + cairo_region_get_rectangle (clip_region, n, &rect); 1.34 + XCopyArea (dst->dpy, src->drawable, dst->drawable, gc, 1.35 +- rect.x + src_x, rect.y + src_y, 1.36 ++ rect.x + x, rect.y + y, 1.37 + rect.width, rect.height, 1.38 + rect.x, rect.y); 1.39 + } 1.40 +-- 1.41 +cgit v0.8.3-6-g21f6