diff --git a/src/managers/SessionLockManager.cpp b/src/managers/SessionLockManager.cpp index c3336ace..29e6ddca 100644 --- a/src/managers/SessionLockManager.cpp +++ b/src/managers/SessionLockManager.cpp @@ -36,6 +36,9 @@ static void handleSurfaceDestroy(void* owner, void* data) { PSURFACE->hyprListener_destroy.removeCallback(); PSURFACE->hyprListener_map.removeCallback(); + if (PSURFACE->pWlrLockSurface->surface == g_pCompositor->m_pLastFocus) + g_pCompositor->m_pLastFocus = nullptr; + g_pSessionLockManager->removeSessionLockSurface(PSURFACE); }