compositor: remove windows from fadingOut properly

This commit is contained in:
Vaxry 2024-04-06 14:51:35 +01:00
parent 24734fbf1d
commit f8c22916ab

View file

@ -692,11 +692,11 @@ CMonitor* CCompositor::getMonitorFromVector(const Vector2D& point) {
} }
void CCompositor::removeWindowFromVectorSafe(CWindow* pWindow) { void CCompositor::removeWindowFromVectorSafe(CWindow* pWindow) {
if (windowExists(pWindow) && !pWindow->m_bFadingOut) if (windowExists(pWindow) && !pWindow->m_bFadingOut) {
std::erase_if(m_vWindows, [&](std::unique_ptr<CWindow>& el) { return el.get() == pWindow; }); std::erase_if(m_vWindows, [&](std::unique_ptr<CWindow>& el) { return el.get() == pWindow; });
std::erase_if(m_vWindowsFadingOut, [&](CWindow* el) { return el == pWindow; }); std::erase_if(m_vWindowsFadingOut, [&](CWindow* el) { return el == pWindow; });
} }
}
bool CCompositor::windowExists(CWindow* pWindow) { bool CCompositor::windowExists(CWindow* pWindow) {
for (auto& w : m_vWindows) { for (auto& w : m_vWindows) {