Don't allow windows to cast shadows on screens they are not on.
BUG: 176018 svn path=/trunk/KDE/kdebase/workspace/; revision=888665
This commit is contained in:
parent
5f835b7c31
commit
2bb64077e7
1 changed files with 10 additions and 0 deletions
|
@ -653,6 +653,16 @@ void ShadowEffect::drawShadowQuadXRender( XRenderPicture *picture, QRect rect, f
|
|||
|
||||
void ShadowEffect::drawShadow( EffectWindow* window, int mask, QRegion region, const WindowPaintData& data )
|
||||
{
|
||||
// Don't allow windows to cast shadows on other displays
|
||||
QRegion clipperGeom;
|
||||
for( int screen = 0; screen < effects->numScreens(); screen++ )
|
||||
{
|
||||
QRect screenGeom = effects->clientArea( ScreenArea, screen, 0 );
|
||||
if( !( window->geometry() & screenGeom ).isNull() )
|
||||
clipperGeom |= screenGeom;
|
||||
}
|
||||
PaintClipper pc( clipperGeom );
|
||||
|
||||
#ifdef KWIN_HAVE_OPENGL_COMPOSITING
|
||||
if( effects->compositingType() == OpenGLCompositing )
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue