Commit 68aae928 authored by Thomas Lübking's avatar Thomas Lübking
Browse files

clip boundingshaped regions in xrender backend

BUG: 311216
FIXED-IN: 4.10
parent ba8a494a
......@@ -481,11 +481,18 @@ void SceneXrender::Window::performPaint(int mask, QRegion region, WindowPaintDat
Client *client = dynamic_cast<Client*>(toplevel);
Deleted *deleted = dynamic_cast<Deleted*>(toplevel);
const QRect decorationRect = toplevel->decorationRect();
if ((client || deleted) && Workspace::self()->decorationHasAlpha())
if ((client && !client->noBorder()) || (deleted && !deleted->noBorder()) &&
Workspace::self()->decorationHasAlpha()) {
// decorated client
transformed_shape = decorationRect;
else
if (toplevel->shape()) {
// "xeyes" + decoration
transformed_shape -= cr;
transformed_shape += shape();
}
} else {
transformed_shape = shape();
}
if (toplevel->hasShadow())
transformed_shape |= toplevel->shadow()->shadowRegion();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment