clutter: Move platform event data management to ClutterSeat

https://gitlab.gnome.org/GNOME/mutter/merge_requests/852
This commit is contained in:
Carlos Garnacho
2019-10-01 18:21:00 +02:00
parent 9be4f98c73
commit 34ce39f8dc
7 changed files with 67 additions and 67 deletions

View File

@@ -53,29 +53,6 @@ G_DEFINE_TYPE_WITH_CODE (MetaDeviceManagerNative,
CLUTTER_TYPE_DEVICE_MANAGER,
G_ADD_PRIVATE (MetaDeviceManagerNative))
static void
meta_device_manager_native_copy_event_data (ClutterDeviceManager *device_manager,
const ClutterEvent *src,
ClutterEvent *dest)
{
MetaEventNative *event_evdev;
event_evdev = _clutter_event_get_platform_data (src);
if (event_evdev != NULL)
_clutter_event_set_platform_data (dest, meta_event_native_copy (event_evdev));
}
static void
meta_device_manager_native_free_event_data (ClutterDeviceManager *device_manager,
ClutterEvent *event)
{
MetaEventNative *event_evdev;
event_evdev = _clutter_event_get_platform_data (event);
if (event_evdev != NULL)
meta_event_native_free (event_evdev);
}
/*
* ClutterDeviceManager implementation
*/
@@ -275,8 +252,6 @@ meta_device_manager_native_class_init (MetaDeviceManagerNativeClass *klass)
manager_class->get_supported_virtual_device_types = meta_device_manager_native_get_supported_virtual_device_types;
manager_class->compress_motion = meta_device_manager_native_compress_motion;
manager_class->apply_kbd_a11y_settings = meta_device_manager_native_apply_kbd_a11y_settings;
manager_class->copy_event_data = meta_device_manager_native_copy_event_data;
manager_class->free_event_data = meta_device_manager_native_free_event_data;
}
static void

View File

@@ -2533,6 +2533,29 @@ meta_seat_native_get_keymap (ClutterSeat *seat)
return CLUTTER_KEYMAP (seat_native->keymap);
}
static void
meta_seat_native_copy_event_data (ClutterSeat *seat,
const ClutterEvent *src,
ClutterEvent *dest)
{
MetaEventNative *event_evdev;
event_evdev = _clutter_event_get_platform_data (src);
if (event_evdev != NULL)
_clutter_event_set_platform_data (dest, meta_event_native_copy (event_evdev));
}
static void
meta_seat_native_free_event_data (ClutterSeat *seat,
ClutterEvent *event)
{
MetaEventNative *event_evdev;
event_evdev = _clutter_event_get_platform_data (event);
if (event_evdev != NULL)
meta_event_native_free (event_evdev);
}
static void
meta_seat_native_class_init (MetaSeatNativeClass *klass)
{
@@ -2550,6 +2573,8 @@ meta_seat_native_class_init (MetaSeatNativeClass *klass)
seat_class->list_devices = meta_seat_native_list_devices;
seat_class->bell_notify = meta_seat_native_bell_notify;
seat_class->get_keymap = meta_seat_native_get_keymap;
seat_class->copy_event_data = meta_seat_native_copy_event_data;
seat_class->free_event_data = meta_seat_native_free_event_data;
props[PROP_SEAT_ID] =
g_param_spec_string ("seat-id",