diff --git a/effects/presentwindows/presentwindows.cpp b/effects/presentwindows/presentwindows.cpp index b7c2b9502e..4494f9836c 100644 --- a/effects/presentwindows/presentwindows.cpp +++ b/effects/presentwindows/presentwindows.cpp @@ -420,9 +420,12 @@ void PresentWindowsEffect::windowClosed( EffectWindow *w ) w->refWindow(); if( m_highlightedWindow == w ) setHighlightedWindow( findFirstWindow() ); - rearrangeWindows(); if( m_closeWindow == w ) + { m_closeWindow = 0; + return; // don't rearrange + } + rearrangeWindows(); } void PresentWindowsEffect::windowDeleted( EffectWindow *w ) @@ -1732,6 +1735,8 @@ bool PresentWindowsEffect::isSelectableWindow( EffectWindow *w ) return false; if( w->isSkipSwitcher() ) return false; + if( w == effects->findWindow( m_closeView->winId() ) ) + return false; switch( m_mode ) { case ModeAllDesktops: