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()