diff --git a/src/core/AnimationManager.cpp b/src/core/AnimationManager.cpp index 9d54f40..306b433 100644 --- a/src/core/AnimationManager.cpp +++ b/src/core/AnimationManager.cpp @@ -78,7 +78,7 @@ void updateGradientVariable(CAnimatedVariable& av, const flo void CHyprlockAnimationManager::tick() { static const auto ANIMATIONSENABLED = g_pConfigManager->getValue("animations:enabled"); - const auto CPY = m_vActiveAnimatedVariables; + const auto CPY = m_vActiveAnimatedVariables; for (const auto& PAV : CPY) { if (!PAV || !PAV->ok()) diff --git a/src/core/hyprlock.cpp b/src/core/hyprlock.cpp index 2782788..e6e7a71 100644 --- a/src/core/hyprlock.cpp +++ b/src/core/hyprlock.cpp @@ -306,6 +306,9 @@ void CHyprlock::run() { g_pRenderer->removeWidgetsFor((*outputIt)->m_ID); m_vOutputs.erase(outputIt); } + + if (m_vOutputs.empty()) + eglReleaseThread(); }); wl_display_roundtrip(m_sWaylandState.display); diff --git a/src/renderer/AsyncResourceManager.cpp b/src/renderer/AsyncResourceManager.cpp index c94992f..7f40b08 100644 --- a/src/renderer/AsyncResourceManager.cpp +++ b/src/renderer/AsyncResourceManager.cpp @@ -5,6 +5,7 @@ #include "../helpers/MiscFunctions.hpp" #include "../core/hyprlock.hpp" #include "../config/ConfigManager.hpp" +#include "../core/Egl.hpp" #include #include @@ -314,6 +315,8 @@ void CAsyncResourceManager::onResourceFinished(ResourceID id) { Log::logger->log(Log::TRACE, "Resource to texture id:{}", id); + g_pEGL->makeCurrent(nullptr); + const auto texture = makeAtomicShared(); const cairo_status_t SURFACESTATUS = (cairo_status_t)RESOURCE->m_asset.cairoSurface->status();