зеркало из https://github.com/mozilla/pjs.git
39 строки
1.3 KiB
Diff
39 строки
1.3 KiB
Diff
From: Benjamin Otte <otte@redhat.com>
|
|
Date: Thu, 29 Apr 2010 16:20:59 +0000
|
|
Subject: xlib: Don't modify variables that are needed later
|
|
|
|
In the XCopyArea region code, don't modify src_x/y when they are later
|
|
used in the unbounded fixup code.
|
|
|
|
Exposed by composite-integer-translate-source test.
|
|
---
|
|
diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c
|
|
index bedc3fd..30c08d3 100644
|
|
--- a/gfx/cairo/cairo/src/cairo-xlib-surface.c
|
|
+++ b/gfx/cairo/cairo/src/cairo-xlib-surface.c
|
|
@@ -2322,10 +2322,10 @@ _cairo_xlib_surface_composite (cairo_operator_t op,
|
|
width, height,
|
|
dst_x, dst_y);
|
|
} else {
|
|
- int n, num_rects;
|
|
+ int n, num_rects, x, y;
|
|
|
|
- src_x += src_attr.x_offset + itx - dst_x;
|
|
- src_y += src_attr.y_offset + ity - dst_y;
|
|
+ x = src_x + src_attr.x_offset + itx - dst_x;
|
|
+ y = src_y + src_attr.y_offset + ity - dst_y;
|
|
|
|
num_rects = cairo_region_num_rectangles (clip_region);
|
|
for (n = 0; n < num_rects; n++) {
|
|
@@ -2333,7 +2333,7 @@ _cairo_xlib_surface_composite (cairo_operator_t op,
|
|
|
|
cairo_region_get_rectangle (clip_region, n, &rect);
|
|
XCopyArea (dst->dpy, src->drawable, dst->drawable, gc,
|
|
- rect.x + src_x, rect.y + src_y,
|
|
+ rect.x + x, rect.y + y,
|
|
rect.width, rect.height,
|
|
rect.x, rect.y);
|
|
}
|
|
--
|
|
cgit v0.8.3-6-g21f6
|