diff --git i/src/wayland/session_lock.cpp w/src/wayland/session_lock.cpp index 43d80e2..742d683 100644 --- i/src/wayland/session_lock.cpp +++ w/src/wayland/session_lock.cpp @@ -179,8 +179,9 @@ void WlSessionLock::unlock() { this->surfaces.clear(); + auto wasLocked = this->isLocked(); if (this->manager) this->manager->unlock(); - if (this->isLocked()) emit this->lockStateChanged(); + if (wasLocked != this->isLocked()) emit this->lockStateChanged(); } void WlSessionLock::onScreensChanged() {