git.lucas.co / cce-compositor
Wayland compositor (wlroots)
git clone https://git.lucas.co/cce-compositor.git

commit78ca87ecfb223df0c29208278665fb324c14c221
parentd599f13df7
authorIsaac Freund <[email protected]>
date2022-05-21 16:27
session-lock: send wl_pointer.enter immediately

 river/LockSurface.zig | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/river/LockSurface.zig b/river/LockSurface.zig
index 84b0839..2ce8a63 100644
--- a/river/LockSurface.zig
+++ b/river/LockSurface.zig
@@ -107,6 +107,8 @@ fn handleOutputMode(listener: *wl.Listener(*wlr.Output), _: *wlr.Output) void {
 fn handleMap(listener: *wl.Listener(void)) void {
     const lock_surface = @fieldParentPtr(LockSurface, "map", listener);
 
+    lock_surface.output().lock_surface = lock_surface;
+
     {
         var it = server.input_manager.seats.first;
         while (it) |node| : (it = node.next) {
@@ -114,10 +116,9 @@ fn handleMap(listener: *wl.Listener(void)) void {
             if (seat.focused != .lock_surface) {
                 seat.setFocusRaw(.{ .lock_surface = lock_surface });
             }
+            seat.cursor.updateState();
         }
     }
-
-    lock_surface.output().lock_surface = lock_surface;
 }
 
 fn handleDestroy(listener: *wl.Listener(void)) void {