]> git.mdlowis.com Git - proto/labwc.git/commitdiff
session-lock: never allow multiple session-locks
authortokyo4j <hrak1529@gmail.com>
Tue, 2 Jul 2024 13:04:02 +0000 (22:04 +0900)
committerHiroaki Yamamoto <hrak1529@gmail.com>
Sun, 7 Jul 2024 06:48:32 +0000 (15:48 +0900)
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.

src/session-lock.c

index 30b4fcac8228103ca71697c8e2d90d18c6bc6ed0..09b62784b923db92134d152f07e8e64cbf2edf71 100644 (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);
 }