From 7e523e4d5e526bdf5ab86a8f4fe37efeef356707 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Tue, 28 Feb 2023 18:50:47 +0000 Subject: minor fixes to X11 configure/or handling --- src/Compositor.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/Compositor.cpp') diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 9346dd9c..52e2f6ad 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -498,10 +498,6 @@ CMonitor* CCompositor::getMonitorFromVector(const Vector2D& point) { void CCompositor::removeWindowFromVectorSafe(CWindow* pWindow) { if (windowExists(pWindow) && !pWindow->m_bFadingOut) { - if (pWindow->m_bIsX11 && pWindow->m_iX11Type == 2) { - std::erase_if(m_dUnmanagedX11Windows, [&](std::unique_ptr& el) { return el.get() == pWindow; }); - } - // if X11, also check its children // and delete any needed if (pWindow->m_bIsX11) { @@ -519,6 +515,10 @@ void CCompositor::removeWindowFromVectorSafe(CWindow* pWindow) { } } + if (pWindow->m_bIsX11 && pWindow->m_iX11Type == 2) { + std::erase_if(m_dUnmanagedX11Windows, [&](std::unique_ptr& el) { return el.get() == pWindow; }); + } + std::erase_if(m_vWindows, [&](std::unique_ptr& el) { return el.get() == pWindow; }); } } @@ -529,6 +529,11 @@ bool CCompositor::windowExists(CWindow* pWindow) { return true; } + for (auto& u : m_dUnmanagedX11Windows) { + if (u.get() == pWindow) + return true; + } + return false; } -- cgit v1.2.3