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); ClutterBackend *clutter_backend = meta_backend_get_clutter_backend (backend);
ClutterSeat *seat = clutter_backend_get_default_seat (clutter_backend); ClutterSeat *seat = clutter_backend_get_default_seat (clutter_backend);
ClutterInputDevice *pointer = clutter_seat_get_pointer (seat); ClutterInputDevice *pointer = clutter_seat_get_pointer (seat);
ClutterStage *stage = CLUTTER_STAGE (meta_backend_get_stage (backend));
ClutterModifierType modifiers; ClutterModifierType modifiers;
ClutterEvent *event; ClutterEvent *event;
graphene_point_t pos; graphene_point_t pos;
event = clutter_event_new (CLUTTER_MOTION);
clutter_seat_query_state (seat, pointer, NULL, &pos, &modifiers); 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); event = clutter_event_motion_new (CLUTTER_EVENT_FLAG_SYNTHETIC,
clutter_event_set_device (event, pointer); CLUTTER_CURRENT_TIME,
clutter_event_set_state (event, modifiers); pointer,
clutter_event_set_source_device (event, NULL); NULL,
clutter_event_set_stage (event, stage); modifiers,
pos,
GRAPHENE_POINT_INIT (0, 0),
GRAPHENE_POINT_INIT (0, 0),
GRAPHENE_POINT_INIT (0, 0),
NULL);
clutter_event_put (event); clutter_event_put (event);
clutter_event_free (event); clutter_event_free (event);