diff options
author | Keith Packard <keithp@keithp.com> | 2011-12-06 09:58:18 -0800 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-12-06 18:06:28 +0000 |
commit | 950021f8811cfc1f2394c5c5dcaf2371bb4419e7 (patch) | |
tree | 90ab06f4e6892d235dbc153ff1ee082025b1e32d | |
parent | d60a2930e1743ad634794472c66a303595ce1290 (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.c | 2 |
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, |