diff --git a/app/view/visibilitymanager.cpp b/app/view/visibilitymanager.cpp index 38325b1ac..778561ccb 100644 --- a/app/view/visibilitymanager.cpp +++ b/app/view/visibilitymanager.cpp @@ -643,14 +643,22 @@ void VisibilityManager::updateGhostWindowState() void VisibilityManager::hide() { - m_lastMask = m_latteView->mask(); - m_latteView->setMask(ISHIDDENMASK); + if (!m_latteView->effects()) { + return; + } + + m_lastMask = m_latteView->effects()->mask(); + m_latteView->effects()->setMask(ISHIDDENMASK); } void VisibilityManager::show() { - if (m_latteView->mask() == ISHIDDENMASK) { - m_latteView->setMask(m_lastMask); + if (!m_latteView->effects()) { + return; + } + + if (m_latteView->effects()->mask() == ISHIDDENMASK) { + m_latteView->effects()->setMask(m_lastMask); } } diff --git a/app/view/visibilitymanager.h b/app/view/visibilitymanager.h index ac5d2aff5..95433df51 100644 --- a/app/view/visibilitymanager.h +++ b/app/view/visibilitymanager.h @@ -224,7 +224,7 @@ private: QStringList m_blockHidingEvents; QRect m_publishedStruts; - QRegion m_lastMask; + QRect m_lastMask; //! KWin Edges bool m_enableKWinEdgesFromUser{true};