Do not fade out windows from other desktops when selecting a window on all desktops in present windows effect.

BUG: 212551

svn path=/trunk/KDE/kdebase/workspace/; revision=1059389
This commit is contained in:
Martin Gräßlin 2009-12-06 13:54:23 +00:00
parent 08aeaca855
commit 21b30c7a37

View file

@ -1555,16 +1555,19 @@ void PresentWindowsEffect::setActive( bool active, bool closingTab )
else else
{ {
// Fade in/out all windows // Fade in/out all windows
EffectWindow *activeWindow = effects->activeWindow();
int desktop = effects->currentDesktop();
if( activeWindow && !activeWindow->isOnAllDesktops() )
desktop = activeWindow->desktop();
foreach( EffectWindow *w, effects->stackingOrder() ) foreach( EffectWindow *w, effects->stackingOrder() )
{ {
assert( m_windowData.contains( w )); assert( m_windowData.contains( w ));
EffectWindow *activeWindow = effects->activeWindow();
if( m_tabBoxEnabled ) if( m_tabBoxEnabled )
activeWindow = effects->currentTabBoxWindow(); activeWindow = effects->currentTabBoxWindow();
if( activeWindow ) if( activeWindow )
m_windowData[w].visible = ( w->desktop() == activeWindow->desktop() || w->isOnAllDesktops() ) && !w->isMinimized(); m_windowData[w].visible = ( w->isOnDesktop( desktop ) || w->isOnAllDesktops() ) && !w->isMinimized();
else // Deactivating to an empty desktop else // Deactivating to an empty desktop
m_windowData[w].visible = ( w->isOnCurrentDesktop() || w->isOnAllDesktops() ) && !w->isMinimized(); m_windowData[w].visible = ( w->isOnDesktop( desktop ) || w->isOnAllDesktops() ) && !w->isMinimized();
if( m_tabBoxEnabled && w == effects->currentTabBoxWindow() ) if( m_tabBoxEnabled && w == effects->currentTabBoxWindow() )
m_windowData[w].visible = true; m_windowData[w].visible = true;
} }