diff --git a/src/scene/windowitem.cpp b/src/scene/windowitem.cpp index f29186c705..8860dff73b 100644 --- a/src/scene/windowitem.cpp +++ b/src/scene/windowitem.cpp @@ -16,6 +16,8 @@ #include "window.h" #include "workspace.h" +#include + namespace KWin { @@ -219,6 +221,7 @@ void WindowItem::updateShadowItem() } else if (m_surfaceItem) { m_shadowItem->stackBefore(m_surfaceItem.get()); } + markDamaged(); } else { m_shadowItem.reset(); } @@ -236,6 +239,8 @@ void WindowItem::updateDecorationItem() } else if (m_surfaceItem) { m_decorationItem->stackBefore(m_surfaceItem.get()); } + connect(m_window->decoration(), &KDecoration2::Decoration::damaged, this, &WindowItem::markDamaged); + markDamaged(); } else { m_decorationItem.reset(); }