From aa5e38041ed332416ac2f5ace908389c35b28192 Mon Sep 17 00:00:00 2001 From: Maximilian Seidler <78690852+PointerDilemma@users.noreply.github.com> Date: Sun, 3 May 2026 15:58:03 +0200 Subject: sessionLock: send locked instead of denied when missing a lock frame for 5 seconds (#14271) The protocol seems to allow this, because it explicitly mentions either session lock surface or compositor blanking the output in this sentence: > 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. Since `locked_screen_delay` is capped to 5 seconds, after the 5 seconds this timer is registered for, we assume that all outputs are covered either by lockedead or by an actual lock frame. Thus sending locked is ok. --- src/managers/SessionLockManager.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/managers/SessionLockManager.hpp') diff --git a/src/managers/SessionLockManager.hpp b/src/managers/SessionLockManager.hpp index efcaf09a..dba2758e 100644 --- a/src/managers/SessionLockManager.hpp +++ b/src/managers/SessionLockManager.hpp @@ -31,7 +31,7 @@ struct SSessionLockSurface { struct SSessionLock { WP lock; CTimer lockTimer; - SP sendDeniedTimer; + SP sendLockedTimer; std::vector> vSessionLockSurfaces; @@ -73,7 +73,7 @@ class CSessionLockManager { } m_listeners; void onNewSessionLock(SP pWlrLock); - void removeSendDeniedTimer(); + void removeSendLockedTimer(); }; inline UP g_pSessionLockManager; -- cgit v1.2.3