From 2db0ee8995362cbbf4461575f4787cd95ffe0254 Mon Sep 17 00:00:00 2001 From: Julian Orth Date: Fri, 16 Dec 2022 21:50:35 +0100 Subject: [PATCH] seat: update hardware cursor upon identical re-attach This happens if the client re-uses the same wl_surface in wl_pointer::set_cursor. If, in the same call, the client changes the hotspot, we have to re-render the hardware cursor. --- src/ifs/wl_seat.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ifs/wl_seat.rs b/src/ifs/wl_seat.rs index 391edb89..04aab5b0 100644 --- a/src/ifs/wl_seat.rs +++ b/src/ifs/wl_seat.rs @@ -800,6 +800,7 @@ impl WlSeatGlobal { if let Some(old) = self.cursor.get() { if let Some(new) = cursor.as_ref() { if rc_eq(&old, new) { + self.update_hardware_cursor(); return; } }