diff --git a/src/scene/windowitem.cpp b/src/scene/windowitem.cpp index b926dd1c5..eca87a50d 100644 --- a/src/scene/windowitem.cpp +++ b/src/scene/windowitem.cpp @@ -16,6 +16,8 @@ #include "window.h" #include "workspace.h" +#include + namespace KWin { @@ -216,6 +218,7 @@ void WindowItem::updateShadowItem() } else if (m_surfaceItem) { m_shadowItem->stackBefore(m_surfaceItem.get()); } + markDamaged(); } else { m_shadowItem.reset(); } @@ -233,6 +236,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(); }