diff options
Diffstat (limited to 'video')
-rw-r--r-- | video/out/wayland_common.c | 4 | ||||
-rw-r--r-- | video/out/wayland_common.h | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c index df64578e5c..4a9895520b 100644 --- a/video/out/wayland_common.c +++ b/video/out/wayland_common.c @@ -72,6 +72,7 @@ static int set_cursor_visibility(struct vo_wayland_state *wl, bool on) { if (!wl->pointer) return VO_NOTAVAIL; + wl->cursor_visible = on; if (on) { if (spawn_cursor(wl)) return VO_FALSE; @@ -100,7 +101,7 @@ static void pointer_handle_enter(void *data, struct wl_pointer *pointer, wl->pointer = pointer; wl->pointer_id = serial; - set_cursor_visibility(wl, true); + set_cursor_visibility(wl, wl->cursor_visible); mp_input_put_key(wl->vo->input_ctx, MP_KEY_MOUSE_ENTER); } @@ -1017,6 +1018,7 @@ int vo_wayland_init(struct vo *vo) .scaling = 1, .wakeup_pipe = {-1, -1}, .dnd_fd = -1, + .cursor_visible = true, }; wl_list_init(&wl->output_list); diff --git a/video/out/wayland_common.h b/video/out/wayland_common.h index 0648efa09a..735b312e97 100644 --- a/video/out/wayland_common.h +++ b/video/out/wayland_common.h @@ -101,6 +101,7 @@ struct vo_wayland_state { struct wl_cursor *default_cursor; struct wl_surface *cursor_surface; int allocated_cursor_scale; + bool cursor_visible; }; int vo_wayland_init(struct vo *vo); |