diff --git a/effects/presentwindows.cpp b/effects/presentwindows.cpp index 0969a4f44b..3947238896 100644 --- a/effects/presentwindows.cpp +++ b/effects/presentwindows.cpp @@ -304,8 +304,6 @@ void PresentWindowsEffect::setActive(bool active) if( mActivated ) { mWindowData.clear(); - effectActivated(); - mActiveness = 0; windowFilter.clear(); mWindowsToPresent.clear(); const EffectWindowList& originalwindowlist = effects->stackingOrder(); @@ -320,6 +318,13 @@ void PresentWindowsEffect::setActive(bool active) continue; mWindowsToPresent.append(window); } + if( mWindowsToPresent.isEmpty()) + { + mActivated = false; // don't activate with nothing to show + return; + } + mActiveness = 0; + effectActivated(); rearrangeWindows(); setHighlightedWindow( effects->activeWindow()); }