diff options
| author | vaxerski <vaxry@vaxry.net> | 2023-06-05 09:49:17 +0200 |
|---|---|---|
| committer | vaxerski <vaxry@vaxry.net> | 2023-06-05 09:49:21 +0200 |
| commit | 1a4e6e6a4b3272118a51bebb4a45ecd642383209 (patch) | |
| tree | 668cf6635f42142b1a229e49f449b13895db551f /src/Window.cpp | |
| parent | e4e6ddb075605c3b3b48654de459796d72035f92 (diff) | |
window: recalc on deco remove
Diffstat (limited to 'src/Window.cpp')
| -rw-r--r-- | src/Window.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/Window.cpp b/src/Window.cpp index a1746fbc..ce3ee967 100644 --- a/src/Window.cpp +++ b/src/Window.cpp @@ -145,16 +145,22 @@ void CWindow::updateWindowDecos() { for (auto& wd : m_dWindowDecorations) wd->updateWindow(this); + bool recalc = false; + for (auto& wd : m_vDecosToRemove) { for (auto it = m_dWindowDecorations.begin(); it != m_dWindowDecorations.end(); it++) { if (it->get() == wd) { - it = m_dWindowDecorations.erase(it); + it = m_dWindowDecorations.erase(it); + recalc = true; if (it == m_dWindowDecorations.end()) break; } } } + if (recalc) + g_pLayoutManager->getCurrentLayout()->recalculateWindow(this); + m_vDecosToRemove.clear(); } |
