renderer: fix nvidia workaround (#878)

This commit is contained in:
Maximilian Seidler 2025-09-17 15:51:17 +00:00 committed by GitHub
parent a7f2634a9e
commit 61b36c64a8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 6 additions and 0 deletions

View file

@ -316,6 +316,7 @@ void CHyprlock::run() {
g_pRenderer.reset(); g_pRenderer.reset();
g_pEGL = makeUnique<CEGL>(m_sWaylandState.display); g_pEGL = makeUnique<CEGL>(m_sWaylandState.display);
g_pRenderer = makeUnique<CRenderer>(); g_pRenderer = makeUnique<CRenderer>();
g_pRenderer->warpOpacity(1.0);
} }
}); });

View file

@ -617,3 +617,7 @@ void CRenderer::startFadeOut(bool unlock) {
if (unlock) if (unlock)
opacity->setCallbackOnEnd([](auto) { g_pHyprlock->releaseSessionLock(); }, true); opacity->setCallbackOnEnd([](auto) { g_pHyprlock->releaseSessionLock(); }, true);
} }
void CRenderer::warpOpacity(float newOpacity) {
opacity->setValueAndWarp(newOpacity);
}

View file

@ -47,6 +47,7 @@ class CRenderer {
void startFadeIn(); void startFadeIn();
void startFadeOut(bool unlock = false); void startFadeOut(bool unlock = false);
void warpOpacity(float warpOpacity);
std::vector<ASP<IWidget>>& getOrCreateWidgetsFor(const CSessionLockSurface& surf); std::vector<ASP<IWidget>>& getOrCreateWidgetsFor(const CSessionLockSurface& surf);
private: private: