diff --git a/src/video/wayland/SDL_waylandmouse.c b/src/video/wayland/SDL_waylandmouse.c index 5a2a00d02f..a4f354cdb8 100644 --- a/src/video/wayland/SDL_waylandmouse.c +++ b/src/video/wayland/SDL_waylandmouse.c @@ -1121,7 +1121,7 @@ void Wayland_SeatUpdateCursor(SDL_WaylandSeat *seat) SDL_Mouse *mouse = SDL_GetMouse(); SDL_WindowData *pointer_focus = seat->pointer.focus; - if (pointer_focus) { + if (pointer_focus && mouse->cursor_visible) { const bool has_relative_focus = Wayland_SeatHasRelativePointerFocus(seat); if (!seat->display->relative_mode_enabled || !has_relative_focus || !mouse->relative_mode_hide_cursor) {