session-lock: never allow multiple session-locks

I forgot to set session_lock_manager->lock, so it was always NULL.
This barely worked, but allowed multiple session-locks and conflicted
with comments in session-lock.h.
This commit is contained in:
tokyo4j 2024-07-02 22:04:02 +09:00 committed by Hiroaki Yamamoto
parent 11f02075c2
commit 880522d142

View file

@ -287,6 +287,7 @@ handle_lock_destroy(struct wl_listener *listener, void *data)
wl_list_remove(&manager->lock_destroy.link);
wl_list_remove(&manager->lock_unlock.link);
wl_list_remove(&manager->lock_new_surface.link);
manager->lock = NULL;
}
static void
@ -323,6 +324,7 @@ handle_new_session_lock(struct wl_listener *listener, void *data)
wl_signal_add(&lock->events.destroy, &manager->lock_destroy);
manager->locked = true;
manager->lock = lock;
wlr_session_lock_v1_send_locked(lock);
}