diff options
author | Maximilian Seidler <[email protected]> | 2024-09-04 15:59:00 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2024-09-04 16:59:00 +0100 |
commit | 027140b7315efe3cd2e7b78fa608bd36da839894 (patch) | |
tree | 11ec0b5a901b4a25b0b6dc469074f8697eeb88cb /src/Compositor.cpp | |
parent | ea10592ad3c861ff2ce73ad7785bcb5a45a9e400 (diff) | |
download | Hyprland-027140b7315efe3cd2e7b78fa608bd36da839894.tar.gz Hyprland-027140b7315efe3cd2e7b78fa608bd36da839894.zip |
sessionLock: ensure sls focus in some edge cases (#7647)
* input: return early in mouseMoveUnified when the session is locked
* sessionLock: make make a commit an opportunity to focus session lock surfaces
* compositor: allow resetting focus when session is locked
* input: remove redundant PMONITOR checks
PMONITOR is checked above
* input: check isSessionLocked earlier in mouseMoveUnified
A bit of reordering, so that we don't call some stuff that is irrelevant
when the session is locked
Diffstat (limited to 'src/Compositor.cpp')
-rw-r--r-- | src/Compositor.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index eac75bd4..ba9ff96b 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -1117,7 +1117,7 @@ void CCompositor::focusSurface(SP<CWLSurfaceResource> pSurface, PHLWINDOW pWindo if (g_pSeatManager->state.keyboardFocus == pSurface || (pWindowOwner && g_pSeatManager->state.keyboardFocus == pWindowOwner->m_pWLSurface->resource())) return; // Don't focus when already focused on this. - if (g_pSessionLockManager->isSessionLocked() && !g_pSessionLockManager->isSurfaceSessionLock(pSurface)) + if (g_pSessionLockManager->isSessionLocked() && pSurface && !g_pSessionLockManager->isSurfaceSessionLock(pSurface)) return; if (g_pSeatManager->seatGrab && !g_pSeatManager->seatGrab->accepts(pSurface)) { |