[clutter/clutter-1.20] evdev: Update after libinput API changes
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter/clutter-1.20] evdev: Update after libinput API changes
- Date: Wed, 25 Jun 2014 11:22:32 +0000 (UTC)
commit ac26dbbbe94f522438648452d262df0836f54507
Author: Emmanuele Bassi <ebassi gnome org>
Date: Wed Jun 25 12:18:02 2014 +0100
evdev: Update after libinput API changes
clutter/evdev/clutter-device-manager-evdev.c | 46 +++++++++++++------------
1 files changed, 24 insertions(+), 22 deletions(-)
---
diff --git a/clutter/evdev/clutter-device-manager-evdev.c b/clutter/evdev/clutter-device-manager-evdev.c
index 442bf19..c8a807b 100644
--- a/clutter/evdev/clutter-device-manager-evdev.c
+++ b/clutter/evdev/clutter-device-manager-evdev.c
@@ -1105,7 +1105,7 @@ process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
time = libinput_event_keyboard_get_time (key_event);
key = libinput_event_keyboard_get_key (key_event);
key_state = libinput_event_keyboard_get_key_state (key_event) ==
- LIBINPUT_KEYBOARD_KEY_STATE_PRESSED;
+ LIBINPUT_KEY_STATE_PRESSED;
notify_key_device (device, time, key, key_state, TRUE);
break;
@@ -1185,12 +1185,12 @@ process_device_event (ClutterDeviceManagerEvdev *manager_evdev,
switch (axis)
{
- case LIBINPUT_POINTER_AXIS_VERTICAL_SCROLL:
+ case LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL:
dx = 0;
dy = value;
break;
- case LIBINPUT_POINTER_AXIS_HORIZONTAL_SCROLL:
+ case LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL:
dx = value;
dy = 0;
break;
@@ -1434,7 +1434,7 @@ clutter_device_manager_evdev_constructed (GObject *gobject)
struct udev *udev;
udev = udev_new ();
- if (!udev)
+ if (G_UNLIKELY (udev == NULL))
{
g_warning ("Failed to create udev object");
return;
@@ -1443,18 +1443,25 @@ clutter_device_manager_evdev_constructed (GObject *gobject)
manager_evdev = CLUTTER_DEVICE_MANAGER_EVDEV (gobject);
priv = manager_evdev->priv;
- priv->libinput = libinput_udev_create_for_seat (&libinput_interface,
- manager_evdev,
- udev,
- "seat0");
- udev_unref (udev);
+ priv->libinput = libinput_udev_create_context (&libinput_interface,
+ manager_evdev,
+ udev);
+ if (priv->libinput == NULL)
+ {
+ g_critical ("Failed to create the libinput object.");
+ return;
+ }
- if (!priv->libinput)
+ if (libinput_udev_assign_seat (priv->libinput, "seat0") == -1)
{
- g_warning ("Failed to create libinput object");
+ g_critical ("Failed to assign a seat to the libinput object.");
+ libinput_unref (priv->libinput);
+ priv->libinput = NULL;
return;
}
+ udev_unref (udev);
+
priv->main_seat = clutter_seat_evdev_new (manager_evdev);
dispatch_libinput (manager_evdev);
@@ -1500,26 +1507,21 @@ clutter_device_manager_evdev_finalize (GObject *object)
{
ClutterDeviceManagerEvdev *manager_evdev;
ClutterDeviceManagerEvdevPrivate *priv;
- GSList *l;
manager_evdev = CLUTTER_DEVICE_MANAGER_EVDEV (object);
priv = manager_evdev->priv;
- for (l = priv->seats; l; l = g_slist_next (l))
- {
- ClutterSeatEvdev *seat = l->data;
-
- clutter_seat_evdev_free (seat);
- }
- g_slist_free (priv->seats);
+ g_slist_free_full (priv->seats, (GDestroyNotify) clutter_seat_evdev_free);
g_slist_free (priv->devices);
- clutter_event_source_free (priv->event_source);
+ if (priv->event_source != NULL)
+ clutter_event_source_free (priv->event_source);
- if (priv->constrain_data_notify)
+ if (priv->constrain_data_notify != NULL)
priv->constrain_data_notify (priv->constrain_data);
- libinput_destroy (priv->libinput);
+ if (priv->libinput != NULL)
+ libinput_unref (priv->libinput);
G_OBJECT_CLASS (clutter_device_manager_evdev_parent_class)->finalize (object);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]