allow windows to withdraw XShape masks

BUG: 293736
REVIEW: 104007
This commit is contained in:
Thomas Lübking 2012-02-17 18:41:44 +01:00
parent 2123fb8dbd
commit 802abf09d1

View file

@ -831,10 +831,15 @@ void Client::updateShape()
noborder = true;
updateDecoration(true);
}
}
if (shape() && noBorder())
XShapeCombineShape(display(), frameId(), ShapeBounding,
if (noBorder())
XShapeCombineShape(display(), frameId(), ShapeBounding,
clientPos().x(), clientPos().y(), window(), ShapeBounding, ShapeSet);
} else if (app_noborder) {
XShapeCombineMask(display(), frameId(), ShapeBounding, 0, 0, None, ShapeSet);
detectNoBorder();
app_noborder = noborder;
updateDecoration(true);
}
// Decoration mask (i.e. 'else' here) setting is done in setMask()
// when the decoration calls it or when the decoration is created/destroyed