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.
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
wl_signal_add(&lock->events.destroy, &manager->lock_destroy);
manager->locked = true;
+ manager->lock = lock;
wlr_session_lock_v1_send_locked(lock);
}