sna: Process winSize region

Sometimes the window size is not a simple box, but a full region. In
which case we do need to process it and not just assert that it is a
box!

Reported-by: Jiri Slaby <jirislaby@gmai.com>
References: https://bugs.freedesktop.org/show_bug.cgi?id=47597
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2013-09-02 13:03:33 +01:00
parent 962460c0e1
commit 9ac895fccb
1 changed files with 4 additions and 2 deletions

View File

@ -5641,8 +5641,10 @@ sna_do_copy(DrawablePtr src, DrawablePtr dst, GCPtr gc,
if (gc->subWindowMode == IncludeInferiors) {
DBG(("%s: window -- include inferiors\n", __FUNCTION__));
assert(!w->winSize.data);
box_intersect(&region.extents, &w->winSize.extents);
if (w->winSize.data)
RegionIntersect(&region, &region, &w->winSize);
else
box_intersect(&region.extents, &w->winSize.extents);
clip = &w->borderClip;
} else {
DBG(("%s: window -- clip by children\n", __FUNCTION__));