clutter: Check that pointer has coordinates prior to repick

This might fail during initialization, or after first pointer
interaction on a pointer-less (e.g. touch-only) session.

Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2964
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3183>
This commit is contained in:
Carlos Garnacho 2023-08-15 17:14:29 +02:00 committed by Marge Bot
parent 88af55b857
commit be3bca01a7

View File

@ -3515,9 +3515,11 @@ void
clutter_stage_repick_device (ClutterStage *stage, clutter_stage_repick_device (ClutterStage *stage,
ClutterInputDevice *device) ClutterInputDevice *device)
{ {
graphene_point_t point; graphene_point_t point = GRAPHENE_POINT_INIT_ZERO;
if (!clutter_stage_get_device_coords (stage, device, NULL, &point))
return;
clutter_stage_get_device_coords (stage, device, NULL, &point);
clutter_stage_pick_and_update_device (stage, clutter_stage_pick_and_update_device (stage,
device, device,
NULL, NULL, NULL, NULL,