From 61b36c64a8582cfd62b267a6b59c63986cdecc02 Mon Sep 17 00:00:00 2001 From: Maximilian Seidler <78690852+PaideiaDilemma@users.noreply.github.com> Date: Wed, 17 Sep 2025 15:51:17 +0000 Subject: [PATCH] renderer: fix nvidia workaround (#878) --- src/core/hyprlock.cpp | 1 + src/renderer/Renderer.cpp | 4 ++++ src/renderer/Renderer.hpp | 1 + 3 files changed, 6 insertions(+) diff --git a/src/core/hyprlock.cpp b/src/core/hyprlock.cpp index 0bd304f..cd27e9e 100644 --- a/src/core/hyprlock.cpp +++ b/src/core/hyprlock.cpp @@ -316,6 +316,7 @@ void CHyprlock::run() { g_pRenderer.reset(); g_pEGL = makeUnique(m_sWaylandState.display); g_pRenderer = makeUnique(); + g_pRenderer->warpOpacity(1.0); } }); diff --git a/src/renderer/Renderer.cpp b/src/renderer/Renderer.cpp index 20101c9..3681002 100644 --- a/src/renderer/Renderer.cpp +++ b/src/renderer/Renderer.cpp @@ -617,3 +617,7 @@ void CRenderer::startFadeOut(bool unlock) { if (unlock) opacity->setCallbackOnEnd([](auto) { g_pHyprlock->releaseSessionLock(); }, true); } + +void CRenderer::warpOpacity(float newOpacity) { + opacity->setValueAndWarp(newOpacity); +} diff --git a/src/renderer/Renderer.hpp b/src/renderer/Renderer.hpp index ad5d676..1f68179 100644 --- a/src/renderer/Renderer.hpp +++ b/src/renderer/Renderer.hpp @@ -47,6 +47,7 @@ class CRenderer { void startFadeIn(); void startFadeOut(bool unlock = false); + void warpOpacity(float warpOpacity); std::vector>& getOrCreateWidgetsFor(const CSessionLockSurface& surf); private: