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 != stacking_order.end();
|
||||||
++it )
|
++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
|
/* the clients all have their mask-regions in local coords
|
||||||
so we have to translate them to a shared coord system
|
so we have to translate them to a shared coord system
|
||||||
we choose ours */
|
we choose ours */
|
||||||
|
|
Loading…
Reference in a new issue