summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2020-05-06 14:12:55 +0200
committerJonas Ã…dahl <jadahl@gmail.com>2020-10-23 18:48:18 +0000
commite28007edb9c5ea56f2548fe6296b42cee8154997 (patch)
tree2da104a6cf78032f66c0e378dfce1d71fb1e62ca
parentc9a405ff9e6611bb1f3eb606c97671a2717b3b89 (diff)
downloadmutter-e28007edb9c5ea56f2548fe6296b42cee8154997.tar.gz
backends: Drop extra layer of touch info handling
We have a hashtable in the device that does not add much on top to the seat handling. Make all the places rely on the seat accounting instead. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1486
-rw-r--r--src/backends/native/meta-input-device-native.c46
-rw-r--r--src/backends/native/meta-input-device-native.h11
-rw-r--r--src/backends/native/meta-virtual-input-device-native.c18
3 files changed, 6 insertions, 69 deletions
diff --git a/src/backends/native/meta-input-device-native.c b/src/backends/native/meta-input-device-native.c
index fef496a76..0498238c1 100644
--- a/src/backends/native/meta-input-device-native.c
+++ b/src/backends/native/meta-input-device-native.c
@@ -67,10 +67,6 @@ meta_input_device_native_finalize (GObject *object)
if (device_evdev->libinput_device)
libinput_device_unref (device_evdev->libinput_device);
- meta_input_device_native_release_touch_slots (device_evdev,
- g_get_monotonic_time ());
- g_clear_pointer (&device_evdev->touches, g_hash_table_unref);
-
backend = clutter_get_default_backend ();
seat = clutter_backend_get_default_seat (backend);
meta_seat_native_release_device_id (META_SEAT_NATIVE (seat), device);
@@ -1229,45 +1225,6 @@ meta_input_device_native_a11y_maybe_notify_toggle_keys (MetaInputDeviceNative *d
}
static void
-release_device_touch_slot (gpointer value)
-{
- MetaTouchState *touch_state = value;
-
- meta_seat_native_release_touch_state (touch_state->seat,
- touch_state->seat_slot);
-}
-
-MetaTouchState *
-meta_input_device_native_acquire_touch_state (MetaInputDeviceNative *device,
- int device_slot)
-{
- MetaTouchState *touch_state;
-
- touch_state = meta_seat_native_acquire_touch_state (device->seat,
- device_slot);
- g_hash_table_insert (device->touches,
- GINT_TO_POINTER (device_slot),
- touch_state);
-
- return touch_state;
-}
-
-MetaTouchState *
-meta_input_device_native_lookup_touch_state (MetaInputDeviceNative *device,
- int device_slot)
-{
- return g_hash_table_lookup (device->touches, GINT_TO_POINTER (device_slot));
-}
-
-void
-meta_input_device_native_release_touch_state (MetaInputDeviceNative *device,
- MetaTouchState *touch_state)
-{
- g_hash_table_remove (device->touches,
- GINT_TO_POINTER (touch_state->device_slot));
-}
-
-static void
meta_input_device_native_class_init (MetaInputDeviceNativeClass *klass)
{
ClutterInputDeviceClass *device_manager_class = CLUTTER_INPUT_DEVICE_CLASS (klass);
@@ -1306,9 +1263,6 @@ meta_input_device_native_init (MetaInputDeviceNative *self)
cairo_matrix_init_identity (&self->device_matrix);
self->device_aspect_ratio = 0;
self->output_ratio = 0;
-
- self->touches = g_hash_table_new_full (NULL, NULL,
- NULL, release_device_touch_slot);
}
/*
diff --git a/src/backends/native/meta-input-device-native.h b/src/backends/native/meta-input-device-native.h
index 87449fe2a..999e670ff 100644
--- a/src/backends/native/meta-input-device-native.h
+++ b/src/backends/native/meta-input-device-native.h
@@ -69,8 +69,6 @@ struct _MetaInputDeviceNative
double device_aspect_ratio; /* w:h */
double output_ratio; /* w:h */
- GHashTable *touches;
-
/* Keyboard a11y */
ClutterKeyboardA11yFlags a11y_flags;
GList *slow_keys_list;
@@ -125,15 +123,6 @@ void meta_input_device_native_translate_coordinates (Clutte
void meta_input_device_native_apply_kbd_a11y_settings (MetaInputDeviceNative *device,
ClutterKbdA11ySettings *settings);
-MetaTouchState * meta_input_device_native_acquire_touch_state (MetaInputDeviceNative *device,
- int device_slot);
-
-MetaTouchState * meta_input_device_native_lookup_touch_state (MetaInputDeviceNative *device,
- int device_slot);
-
-void meta_input_device_native_release_touch_state (MetaInputDeviceNative *device,
- MetaTouchState *touch_state);
-
void meta_input_device_native_a11y_maybe_notify_toggle_keys (MetaInputDeviceNative *device_evdev);
struct libinput_device * meta_input_device_native_get_libinput_device (ClutterInputDevice *device);
diff --git a/src/backends/native/meta-virtual-input-device-native.c b/src/backends/native/meta-virtual-input-device-native.c
index a6d285305..01c1f4159 100644
--- a/src/backends/native/meta-virtual-input-device-native.c
+++ b/src/backends/native/meta-virtual-input-device-native.c
@@ -546,8 +546,6 @@ meta_virtual_input_device_native_notify_touch_down (ClutterVirtualInputDevice *v
{
MetaVirtualInputDeviceNative *virtual_evdev =
META_VIRTUAL_INPUT_DEVICE_NATIVE (virtual_device);
- MetaInputDeviceNative *device_evdev =
- META_INPUT_DEVICE_NATIVE (virtual_evdev->device);
MetaTouchState *touch_state;
guint seat_slot;
@@ -557,8 +555,8 @@ meta_virtual_input_device_native_notify_touch_down (ClutterVirtualInputDevice *v
time_us = g_get_monotonic_time ();
seat_slot = virtual_evdev->slot_base + (guint) device_slot;
- touch_state = meta_input_device_native_acquire_touch_state (device_evdev,
- seat_slot);
+ touch_state = meta_seat_native_acquire_touch_state (virtual_evdev->seat,
+ seat_slot);
if (!touch_state)
return;
@@ -583,8 +581,6 @@ meta_virtual_input_device_native_notify_touch_motion (ClutterVirtualInputDevice
{
MetaVirtualInputDeviceNative *virtual_evdev =
META_VIRTUAL_INPUT_DEVICE_NATIVE (virtual_device);
- MetaInputDeviceNative *device_evdev =
- META_INPUT_DEVICE_NATIVE (virtual_evdev->device);
MetaTouchState *touch_state;
guint seat_slot;
@@ -594,8 +590,8 @@ meta_virtual_input_device_native_notify_touch_motion (ClutterVirtualInputDevice
time_us = g_get_monotonic_time ();
seat_slot = virtual_evdev->slot_base + (guint) device_slot;
- touch_state = meta_input_device_native_lookup_touch_state (device_evdev,
- seat_slot);
+ touch_state = meta_seat_native_lookup_touch_state (virtual_evdev->seat,
+ seat_slot);
if (!touch_state)
return;
@@ -618,8 +614,6 @@ meta_virtual_input_device_native_notify_touch_up (ClutterVirtualInputDevice *vir
{
MetaVirtualInputDeviceNative *virtual_evdev =
META_VIRTUAL_INPUT_DEVICE_NATIVE (virtual_device);
- MetaInputDeviceNative *device_evdev =
- META_INPUT_DEVICE_NATIVE (virtual_evdev->device);
MetaTouchState *touch_state;
guint seat_slot;
@@ -629,8 +623,8 @@ meta_virtual_input_device_native_notify_touch_up (ClutterVirtualInputDevice *vir
time_us = g_get_monotonic_time ();
seat_slot = virtual_evdev->slot_base + (guint) device_slot;
- touch_state = meta_input_device_native_lookup_touch_state (device_evdev,
- seat_slot);
+ touch_state = meta_seat_native_lookup_touch_state (virtual_evdev->seat,
+ seat_slot);
if (!touch_state)
return;