diff --git a/src/desktop/Window.cpp b/src/desktop/Window.cpp index b4af12f1..00066b27 100644 --- a/src/desktop/Window.cpp +++ b/src/desktop/Window.cpp @@ -211,6 +211,8 @@ void CWindow::updateWindowDecos() { } for (auto& wd : decos) { + if (std::find_if(m_dWindowDecorations.begin(), m_dWindowDecorations.end(), [wd](const auto& other) { return other.get() == wd; }) == m_dWindowDecorations.end()) + continue; wd->updateWindow(m_pSelf.lock()); } } diff --git a/src/desktop/Window.hpp b/src/desktop/Window.hpp index dd361c30..40e5db49 100644 --- a/src/desktop/Window.hpp +++ b/src/desktop/Window.hpp @@ -332,6 +332,7 @@ class CWindow { PHLWINDOWREF m_pLastCycledWindow; // Window decorations + // TODO: make this a SP. std::deque> m_dWindowDecorations; std::vector m_vDecosToRemove;