[cairo] [PATCH] Clip rectangles are not necessarily YSorted
Keith Packard
keithp at keithp.com
Tue Dec 6 09:58:18 PST 2011
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 at keithp.com>
---
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 6dad822..6ee69e1 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,
--
1.7.7.3
More information about the cairo
mailing list