backends/x11: Use new constructor for emulated pointer events

Use the new constructor to generate a synthesized motion event.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3153>
This commit is contained in:
Carlos Garnacho 2023-08-02 20:56:52 +02:00
parent 75e8bab1c1
commit 1f9e787b83

View File

@ -1044,19 +1044,22 @@ meta_backend_x11_sync_pointer (MetaBackendX11 *backend_x11)
ClutterBackend *clutter_backend = meta_backend_get_clutter_backend (backend);
ClutterSeat *seat = clutter_backend_get_default_seat (clutter_backend);
ClutterInputDevice *pointer = clutter_seat_get_pointer (seat);
ClutterStage *stage = CLUTTER_STAGE (meta_backend_get_stage (backend));
ClutterModifierType modifiers;
ClutterEvent *event;
graphene_point_t pos;
event = clutter_event_new (CLUTTER_MOTION);
clutter_seat_query_state (seat, pointer, NULL, &pos, &modifiers);
clutter_event_set_flags (event, CLUTTER_EVENT_FLAG_SYNTHETIC);
clutter_event_set_coords (event, pos.x, pos.y);
clutter_event_set_device (event, pointer);
clutter_event_set_state (event, modifiers);
clutter_event_set_source_device (event, NULL);
clutter_event_set_stage (event, stage);
event = clutter_event_motion_new (CLUTTER_EVENT_FLAG_SYNTHETIC,
CLUTTER_CURRENT_TIME,
pointer,
NULL,
modifiers,
pos,
GRAPHENE_POINT_INIT (0, 0),
GRAPHENE_POINT_INIT (0, 0),
GRAPHENE_POINT_INIT (0, 0),
NULL);
clutter_event_put (event);
clutter_event_free (event);