aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/render/Renderer.cpp
diff options
context:
space:
mode:
authorJunxuan Liao <[email protected]>2024-07-13 18:32:08 +0800
committerGitHub <[email protected]>2024-07-13 12:32:08 +0200
commit7486576fa7a3d394254cb07734679df4b2469071 (patch)
tree6f62e6c73cfec489ca2e068f0018fb0a1ad62da5 /src/render/Renderer.cpp
parentf85c6416c6f5e56c75178ecb24c11e346069197d (diff)
downloadHyprland-7486576fa7a3d394254cb07734679df4b2469071.tar.gz
Hyprland-7486576fa7a3d394254cb07734679df4b2469071.zip
session-lock: send `locked` after the lock screen is properly rendered (#6850)
The protocol says: > The locked event "must not be sent until a new "locked" frame (either from a > session lock surface or the compositor blanking the output) has been presented > on all outputs and no security sensitive normal/unlocked content is possibly > visible". This helps users ensure the screen is properly locked before suspending the machine. (e.g. with swaylock --ready-fd)
Diffstat (limited to 'src/render/Renderer.cpp')
-rw-r--r--src/render/Renderer.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp
index 955a16b9..a7f3c941 100644
--- a/src/render/Renderer.cpp
+++ b/src/render/Renderer.cpp
@@ -990,8 +990,11 @@ void CHyprRenderer::renderLockscreen(CMonitor* pMonitor, timespec* now, const CB
if (ALPHA < 1.f) /* animate */
damageMonitor(pMonitor);
+ else
+ g_pSessionLockManager->onLockscreenRenderedOnMonitor(pMonitor->ID);
} else {
renderSessionLockSurface(PSLS, pMonitor, now);
+ g_pSessionLockManager->onLockscreenRenderedOnMonitor(pMonitor->ID);
}
}
}