kms/cursor-manager: Set hotspot

This is important when running via virtual machines.

Fixes: 6d873036e0 ("Add KMS cursor manager")
Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2916
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3147>
This commit is contained in:
Jonas Ådahl 2023-08-04 10:17:17 +02:00 committed by Marge Bot
parent 6ea816184d
commit 8a20d20fe9

View File

@ -369,6 +369,7 @@ maybe_update_cursor_plane (MetaKmsCursorManagerImpl *cursor_manager_impl,
MetaRectangle dst_rect;
MetaKmsAssignPlaneFlag assign_plane_flags =
META_KMS_ASSIGN_PLANE_FLAG_NONE;
MetaKmsPlaneAssignment *plane_assignment;
if (crtc_state_impl->pending_buffer != crtc_state_impl->buffer)
{
@ -396,11 +397,14 @@ maybe_update_cursor_plane (MetaKmsCursorManagerImpl *cursor_manager_impl,
.height = round (cursor_rect.size.height),
};
meta_kms_update_assign_plane (update,
crtc, cursor_plane,
buffer,
src_rect, dst_rect,
assign_plane_flags);
plane_assignment = meta_kms_update_assign_plane (update,
crtc, cursor_plane,
buffer,
src_rect, dst_rect,
assign_plane_flags);
meta_kms_plane_assignment_set_cursor_hotspot (plane_assignment,
(int) roundf (hotspot->x),
(int) roundf (hotspot->y));
}
else
{