diff --git a/src/video/wayland/SDL_waylandmouse.c b/src/video/wayland/SDL_waylandmouse.c index ceb6b243f3..989d4c115e 100644 --- a/src/video/wayland/SDL_waylandmouse.c +++ b/src/video/wayland/SDL_waylandmouse.c @@ -605,7 +605,14 @@ static int Wayland_ShowCursor(SDL_Cursor *cursor) if (!data->shm_data) { if (input->cursor_shape) { Wayland_SetSystemCursorShape(input, data->system_cursor); + input->cursor_visible = SDL_TRUE; + + if (input->relative_mode_override) { + Wayland_input_unlock_pointer(input); + input->relative_mode_override = SDL_FALSE; + } + return 0; } else if (!wayland_get_system_cursor(d, data, &scale)) { return -1;