diff --git a/effects/desktopgrid/desktopgrid.cpp b/effects/desktopgrid/desktopgrid.cpp index 97cb2a3f11..40617edc07 100644 --- a/effects/desktopgrid/desktopgrid.cpp +++ b/effects/desktopgrid/desktopgrid.cpp @@ -1039,9 +1039,11 @@ void DesktopGridEffect::setActive(bool active) return; // Already in that state activated = active; - if (activated && timeline.currentValue() == 0) - setup(); - if (!activated) { + if (activated) { + effects->setShowingDesktop(false); + if (timeline.currentValue() == 0) + setup(); + } else { if (isUsingPresentWindows()) { QList::iterator it; for (it = m_managers.begin(); it != m_managers.end(); ++it) { diff --git a/effects/presentwindows/presentwindows.cpp b/effects/presentwindows/presentwindows.cpp index acc576cc8c..eacdf24383 100755 --- a/effects/presentwindows/presentwindows.cpp +++ b/effects/presentwindows/presentwindows.cpp @@ -1422,6 +1422,7 @@ void PresentWindowsEffect::setActive(bool active) return; m_activated = active; if (m_activated) { + effects->setShowingDesktop(false); m_needInitialSelection = true; m_closeButtonCorner = (Qt::Corner)effects->kwinOption(KWin::CloseButtonCorner).toInt(); m_decalOpacity = 0.0; diff --git a/tabbox/tabbox.cpp b/tabbox/tabbox.cpp index 4a00e4b79a..452ff50682 100644 --- a/tabbox/tabbox.cpp +++ b/tabbox/tabbox.cpp @@ -730,6 +730,7 @@ void TabBox::show() m_isShown = false; return; } + workspace()->setShowingDesktop(false); reference(); m_isShown = true; m_tabBox->show();