Fix a crash in dgpw when a window is added to all desktops.
svn path=/trunk/KDE/kdebase/workspace/; revision=1049712
This commit is contained in:
parent
3b8151a6ce
commit
026d0a9839
1 changed files with 15 additions and 3 deletions
|
@ -362,9 +362,21 @@ void DesktopGridEffect::windowAdded( EffectWindow* w )
|
|||
return;
|
||||
if( isUsingPresentWindows() )
|
||||
{
|
||||
WindowMotionManager& manager = m_managers[ (w->desktop()-1)*effects->numScreens()+w->screen() ];
|
||||
manager.manage( w );
|
||||
m_proxy->calculateWindowTransformations( manager.managedWindows(), w->screen(), manager );
|
||||
if( w->isOnAllDesktops() )
|
||||
{
|
||||
for( int i=0; i<effects->numberOfDesktops(); i++ )
|
||||
{
|
||||
WindowMotionManager& manager = m_managers[ i*effects->numScreens()+w->screen() ];
|
||||
manager.manage( w );
|
||||
m_proxy->calculateWindowTransformations( manager.managedWindows(), w->screen(), manager );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
WindowMotionManager& manager = m_managers[ (w->desktop()-1)*effects->numScreens()+w->screen() ];
|
||||
manager.manage( w );
|
||||
m_proxy->calculateWindowTransformations( manager.managedWindows(), w->screen(), manager );
|
||||
}
|
||||
}
|
||||
effects->addRepaintFull();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue