summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2011-12-06 09:58:18 -0800
committerChris Wilson <chris@chris-wilson.co.uk>2011-12-06 18:06:28 +0000
commit950021f8811cfc1f2394c5c5dcaf2371bb4419e7 (patch)
tree90ab06f4e6892d235dbc153ff1ee082025b1e32d
parentd60a2930e1743ad634794472c66a303595ce1290 (diff)
Clip rectangles are not necessarily YSorted
None of the cairo clipping computations guarantee that the resulting list of rectangles are constructed in any particular order. Promising that they are results in an X error (BadMatch) which generally causes applications to crash. I suspect this may well be implicated in many (many) bug reports about applications which use cairo. Signed-off-by: Keith Packard <keithp@keithp.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/cairo-xlib-render-compositor.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/cairo-xlib-render-compositor.c b/src/cairo-xlib-render-compositor.c
index 6dad822d..6ee69e1a 100644
--- a/src/cairo-xlib-render-compositor.c
+++ b/src/cairo-xlib-render-compositor.c
@@ -217,7 +217,7 @@ copy_boxes (void *_dst,
}
assert (j == boxes->num_boxes);
- XSetClipRectangles (dst->dpy, gc, 0, 0, rects, j, YSorted);
+ XSetClipRectangles (dst->dpy, gc, 0, 0, rects, j, Unsorted);
XCopyArea (dst->dpy, src->drawable, dst->drawable, gc,
extents->x + dx, extents->y + dy,