From b40b5d34cc4c3e76a58255e9706ce33ef0e2aa43 Mon Sep 17 00:00:00 2001 From: Rouven Czerwinski Date: Tue, 15 Sep 2020 09:31:02 +0200 Subject: [PATCH] cursor: arm cursor hide timer immediately According to the wayland docs, wayland timers are disarmed on creation. This leads to the cursor not being hidden if there is no activity after creation, since the timer is armed on activity, but not at creation. Arm the timer after creation to ensure the cursor is hidden even if there is no cursor activity after creation. Fixes #5684 --- sway/input/cursor.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sway/input/cursor.c b/sway/input/cursor.c index f5c2bd17c..3e6b147ea 100644 --- a/sway/input/cursor.c +++ b/sway/input/cursor.c @@ -1041,6 +1041,8 @@ struct sway_cursor *sway_cursor_create(struct sway_seat *seat) { cursor->hide_source = wl_event_loop_add_timer(server.wl_event_loop, hide_notify, cursor); + wl_event_source_timer_update( + cursor->hide_source, cursor_get_timeout(cursor)); wl_list_init(&cursor->image_surface_destroy.link); cursor->image_surface_destroy.notify = handle_image_surface_destroy;