diff options
author | vaxerski <[email protected]> | 2023-02-28 18:50:47 +0000 |
---|---|---|
committer | vaxerski <[email protected]> | 2023-02-28 18:50:47 +0000 |
commit | 7e523e4d5e526bdf5ab86a8f4fe37efeef356707 (patch) | |
tree | e83277933da2e43028d76271726e9aff069079bb /src/Compositor.cpp | |
parent | 89e7d812c80038083acdca85a5ba08ad97b2d0ea (diff) | |
download | Hyprland-7e523e4d5e526bdf5ab86a8f4fe37efeef356707.tar.gz Hyprland-7e523e4d5e526bdf5ab86a8f4fe37efeef356707.zip |
minor fixes to X11 configure/or handling
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r-- | src/Compositor.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
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<CWindow>& 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<CWindow>& el) { return el.get() == pWindow; }); + } + std::erase_if(m_vWindows, [&](std::unique_ptr<CWindow>& 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; } |