Make unobscuredRegion() ignore windows that cannot be visible on the same
virtual desktop like the window. Prevent B2's titlebars affecting each other if they're on different virtual desktops. svn path=/trunk/kdebase/kwin/; revision=263255
This commit is contained in:
parent
abdfd596b2
commit
78a31324a0
1 changed files with 12 additions and 0 deletions
12
bridge.cpp
12
bridge.cpp
|
@ -136,6 +136,18 @@ QRegion Bridge::unobscuredRegion( const QRegion& r ) const
|
|||
it != stacking_order.end();
|
||||
++it )
|
||||
{
|
||||
if( !(*it)->isShown( true ))
|
||||
continue; // these don't obscure the window
|
||||
if( c->isOnAllDesktops())
|
||||
{
|
||||
if( !(*it)->isOnCurrentDesktop())
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( !(*it)->isOnDesktop( c->desktop()))
|
||||
continue;
|
||||
}
|
||||
/* the clients all have their mask-regions in local coords
|
||||
so we have to translate them to a shared coord system
|
||||
we choose ours */
|
||||
|
|
Loading…
Reference in a new issue