commit 58da3b4

Michael Forney  ·  2014-01-20 23:27:47 +0000 UTC
parent 6518eda
evdev_device: Move add_event_sources to initialize
3 files changed,  +12, -13
+12, -9
 1@@ -27,6 +27,7 @@
 2 
 3 #include "evdev_device.h"
 4 #include "event.h"
 5+#include "internal.h"
 6 #include "launch.h"
 7 #include "seat.h"
 8 #include "util.h"
 9@@ -211,6 +212,15 @@ struct swc_evdev_device * swc_evdev_device_new
10     if (!(device->path = strdup(path)))
11         goto error2;
12 
13+    device->source = wl_event_loop_add_fd
14+        (swc.event_loop, device->fd, WL_EVENT_READABLE, handle_data, device);
15+
16+    if (!device->source)
17+    {
18+        ERROR("Failed to add event source\n");
19+        goto error3;
20+    }
21+
22     DEBUG("Adding device %s\n", libevdev_get_name(device->dev));
23 
24     device->handler = handler;
25@@ -235,6 +245,8 @@ struct swc_evdev_device * swc_evdev_device_new
26 
27     return device;
28 
29+  error3:
30+    libevdev_free(device->dev);
31   error2:
32     libevdev_free(device->dev);
33   error1:
34@@ -252,15 +264,6 @@ void swc_evdev_device_destroy(struct swc_evdev_device * device)
35     free(device);
36 }
37 
38-void swc_evdev_device_add_event_sources(struct swc_evdev_device * device,
39-                                        struct wl_event_loop * event_loop)
40-{
41-    DEBUG("Adding event source for %s\n", libevdev_get_name(device->dev));
42-    device->source
43-        = wl_event_loop_add_fd(event_loop, device->fd, WL_EVENT_READABLE,
44-                               handle_data, device);
45-}
46-
47 bool swc_evdev_device_reopen(struct swc_evdev_device * device)
48 {
49     close(device->fd);
+0, -3
 1@@ -82,9 +82,6 @@ struct swc_evdev_device * swc_evdev_device_new
 2 
 3 void swc_evdev_device_destroy(struct swc_evdev_device * device);
 4 
 5-void swc_evdev_device_add_event_sources(struct swc_evdev_device * device,
 6-                                        struct wl_event_loop * event_loop);
 7-
 8 bool swc_evdev_device_reopen(struct swc_evdev_device * device);
 9 
10 #endif
+0, -1
1@@ -206,7 +206,6 @@ static void add_device(struct udev_device * udev_device)
2     }
3 
4     wl_list_insert(&seat.devices, &device->link);
5-    swc_evdev_device_add_event_sources(device, swc.event_loop);
6 }
7 
8 static void add_devices()