* Check for quick exit
if (draw->clip_type == XftClipTypeRectangles &&
!memcmp (XftClipRects (draw->clip.rect), rects, n * sizeof (XRectangle)))
Exists without regard to n, xOrigin, yOrigin. This in, among other
things, means that setting to an empty region (n == 0) always
The attached (untested) patch should fix the problem ... the
(n == 0 || (draw->clip.rect.xOrigin == xOrigin &&
draw->clip.rect.yOrigin == yOrigin))
counts on xOrigin/yOrigin being irrelevant for empty clips
and on there being no way to change the clip region/rects
without setting the origin.
Created attachment 47 [details] [review]
I'll take a look at the patch tomorrow.
I've applied a working version of the submitted patch.