aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRouven Czerwinski <rouven@czerwinskis.de>2020-09-15 09:31:02 +0200
committerSimon Ser <contact@emersion.fr>2020-09-15 09:55:30 +0200
commit299a159add1e842d10a0e641066f6f4718a75dcc (patch)
tree72bff908840a356d0b4392fc7a5557e9d6399f2f
parent2efecc14ef8ea7c82ae85f632a0def1a1719a91d (diff)
downloadsway-299a159add1e842d10a0e641066f6f4718a75dcc.tar.xz
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
-rw-r--r--sway/input/cursor.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sway/input/cursor.c b/sway/input/cursor.c
index f5c2bd17..3e6b147e 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;