diff --git a/src/Compositor.cpp b/src/Compositor.cpp index 34955eca..c68b5322 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -896,18 +896,17 @@ void CCompositor::cleanupFadingOut(const int& monid) { if (ls->fadingOut && ls->readyToDelete && !ls->alpha.isBeingAnimated()) { g_pHyprOpenGL->m_mLayerFramebuffers[ls].release(); g_pHyprOpenGL->m_mLayerFramebuffers.erase(ls); - - m_vSurfacesFadingOut.erase(std::remove(m_vSurfacesFadingOut.begin(), m_vSurfacesFadingOut.end(), ls)); for (auto& m : m_vMonitors) { for (auto& lsl : m->m_aLayerSurfaceLists) { if (!lsl.empty() && std::find_if(lsl.begin(), lsl.end(), [&](std::unique_ptr& other) { return other.get() == ls; }) != lsl.end()) { lsl.erase(std::remove_if(lsl.begin(), lsl.end(), [&](std::unique_ptr& other) { return other.get() == ls; })); - return; } } } + m_vSurfacesFadingOut.erase(std::remove(m_vSurfacesFadingOut.begin(), m_vSurfacesFadingOut.end(), ls)); + Debug::log(LOG, "Cleanup: destroyed a layersurface"); glFlush(); // to free mem NOW.