summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--video/out/wayland_common.c4
-rw-r--r--video/out/wayland_common.h1
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);