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:
parent
6ea816184d
commit
8a20d20fe9
@ -369,6 +369,7 @@ maybe_update_cursor_plane (MetaKmsCursorManagerImpl *cursor_manager_impl,
|
|||||||
MetaRectangle dst_rect;
|
MetaRectangle dst_rect;
|
||||||
MetaKmsAssignPlaneFlag assign_plane_flags =
|
MetaKmsAssignPlaneFlag assign_plane_flags =
|
||||||
META_KMS_ASSIGN_PLANE_FLAG_NONE;
|
META_KMS_ASSIGN_PLANE_FLAG_NONE;
|
||||||
|
MetaKmsPlaneAssignment *plane_assignment;
|
||||||
|
|
||||||
if (crtc_state_impl->pending_buffer != crtc_state_impl->buffer)
|
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),
|
.height = round (cursor_rect.size.height),
|
||||||
};
|
};
|
||||||
|
|
||||||
meta_kms_update_assign_plane (update,
|
plane_assignment = meta_kms_update_assign_plane (update,
|
||||||
crtc, cursor_plane,
|
crtc, cursor_plane,
|
||||||
buffer,
|
buffer,
|
||||||
src_rect, dst_rect,
|
src_rect, dst_rect,
|
||||||
assign_plane_flags);
|
assign_plane_flags);
|
||||||
|
meta_kms_plane_assignment_set_cursor_hotspot (plane_assignment,
|
||||||
|
(int) roundf (hotspot->x),
|
||||||
|
(int) roundf (hotspot->y));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user