diff options
author | Dudemanguy <random342@airmail.cc> | 2020-01-11 00:05:21 -0600 |
---|---|---|
committer | Dudemanguy <random342@airmail.cc> | 2020-01-11 00:05:21 -0600 |
commit | cfceaec266d4db68bd7f217adc31396e42eaf101 (patch) | |
tree | deb39a9621baa98daec4e403fbf317301dbad9cd | |
parent | 8b85b40b2fd77128da2503e90ed358605e3e2656 (diff) | |
download | mpv-cfceaec266d4db68bd7f217adc31396e42eaf101.tar.bz2 mpv-cfceaec266d4db68bd7f217adc31396e42eaf101.tar.xz |
wayland: don't set cursor before pointer id
This shouldn't really matter, but it's probably best to avoid.
vo_wayland_control would execute set_cursor_visibility while wl->pointer
existed but it didn't check if wl->pointer_id existed. So
wl_pointer_set_cursor would be set to a null surface with an id of 0.
Instead, just wait until we have an actual, non-zero pointer id so that
the cursor is set with the correct, actual id and not a fictious 0 id.
This ensures that the pointer isn't set until it enters the wl_surface
which is what we want.
-rw-r--r-- | video/out/wayland_common.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c index b8f359cca1..ce0b83c0e4 100644 --- a/video/out/wayland_common.c +++ b/video/out/wayland_common.c @@ -105,7 +105,7 @@ static int spawn_cursor(struct vo_wayland_state *wl) static int set_cursor_visibility(struct vo_wayland_state *wl, bool on) { - if (!wl->pointer) + if (!wl->pointer || !wl->pointer_id) return VO_NOTAVAIL; wl->cursor_visible = on; if (on) { |