backends/native: Pass the axes down to the relative clutter motion event

Otherwise we get a happy segfault when we're trying broadcast_axis()
during the tablet event handling.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3410>
This commit is contained in:
Peter Hutterer 2023-11-20 14:49:30 +10:00 committed by Marge Bot
parent 9e781545aa
commit 01f78c0451
3 changed files with 11 additions and 6 deletions

View File

@ -577,7 +577,8 @@ meta_seat_impl_notify_relative_motion_in_impl (MetaSeatImpl *seat_impl,
float dx,
float dy,
float dx_unaccel,
float dy_unaccel)
float dy_unaccel,
double *axes)
{
MetaInputDeviceNative *device_native =
META_INPUT_DEVICE_NATIVE (input_device);
@ -635,7 +636,7 @@ meta_seat_impl_notify_relative_motion_in_impl (MetaSeatImpl *seat_impl,
dy_unaccel),
GRAPHENE_POINT_INIT (dx_constrained,
dy_constrained),
NULL);
axes);
queue_event (seat_impl, event);
}
@ -1358,7 +1359,8 @@ notify_relative_tool_motion_in_impl (ClutterInputDevice *input_device,
time_us,
dx, dy,
/* FIXME */
dx, dy);
dx, dy,
axes);
}
static void
@ -2131,7 +2133,8 @@ process_device_event (MetaSeatImpl *seat_impl,
device,
time_us,
dx, dy,
dx_unaccel, dy_unaccel);
dx_unaccel, dy_unaccel,
NULL);
break;
}

View File

@ -152,7 +152,8 @@ void meta_seat_impl_notify_relative_motion_in_impl (MetaSeatImpl *seat_imp
float dx,
float dy,
float dx_unaccel,
float dy_unaccel);
float dy_unaccel,
double *axes);
void meta_seat_impl_notify_absolute_motion_in_impl (MetaSeatImpl *seat_impl,
ClutterInputDevice *input_device,

View File

@ -226,7 +226,8 @@ notify_relative_motion_in_impl (GTask *task)
virtual_evdev->impl_state->device,
event->time_us,
event->x, event->y,
event->x, event->y);
event->x, event->y,
NULL);
g_task_return_boolean (task, TRUE);
return G_SOURCE_REMOVE;
}