backends/native: Make some MetaSeatImpl API "async"

This API is the one accessed from different bits of the UI thread,
make it "async" (it's basically one-way setters, so API stays the same
in the surface) and able to run in the MetaSeatImpl main context.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1403>
This commit is contained in:
Carlos Garnacho
2020-08-12 15:37:43 +02:00
committed by Marge Bot
parent f7fbd6ea6f
commit fd90e41e12
2 changed files with 211 additions and 44 deletions

View File

@@ -54,6 +54,7 @@ struct _MetaSeatImpl
{
GObject parent_instance;
GMainContext *input_context;
MetaSeatNative *seat_native;
char *seat_id;
MetaEventSource *event_source;
@@ -116,6 +117,10 @@ G_DECLARE_FINAL_TYPE (MetaSeatImpl, meta_seat_impl,
MetaSeatImpl * meta_seat_impl_new (MetaSeatNative *seat_native,
const char *seat_id);
void meta_seat_impl_run_input_task (MetaSeatImpl *seat_impl,
GTask *task,
GSourceFunc dispatch_func);
void meta_seat_impl_notify_key (MetaSeatImpl *seat_impl,
ClutterInputDevice *device,
uint64_t time_us,