mirror of https://github.com/mpv-player/mpv
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.
This commit is contained in:
parent
8b85b40b2f
commit
cfceaec266
|
@ -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)
|
static int set_cursor_visibility(struct vo_wayland_state *wl, bool on)
|
||||||
{
|
{
|
||||||
if (!wl->pointer)
|
if (!wl->pointer || !wl->pointer_id)
|
||||||
return VO_NOTAVAIL;
|
return VO_NOTAVAIL;
|
||||||
wl->cursor_visible = on;
|
wl->cursor_visible = on;
|
||||||
if (on) {
|
if (on) {
|
||||||
|
|
Loading…
Reference in New Issue