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:
Dudemanguy 2020-01-11 00:05:21 -06:00
parent 8b85b40b2f
commit cfceaec266
1 changed files with 1 additions and 1 deletions

View File

@ -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) {