For touchpads, device->dispatch is set up when exiting
evdev_handle_device() and a potential source for a memleak.
This can't actually happen at the moment, as evdev_handle_device() won't
fail for touchpads after setting up the dispatch but prevent this from
happening in the future.
---
 src/evdev.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/evdev.c b/src/evdev.c
index 7462e83..bd3b025 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -590,6 +590,8 @@ evdev_device_create(struct weston_seat *seat, const char 
*path, int device_fd)
        device->devname = strdup(devname);
 
        if (!evdev_handle_device(device)) {
+               if (device->dispatch)
+                       device->dispatch->interface->destroy(dispatch);
                if (device->mtdev)
                        mtdev_close_delete(device->mtdev);
                free(device->devnode);
-- 
1.8.2.1

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to