Unref seats and devices in libinput_destroy()

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
This commit is contained in:
Jonas Ådahl 2013-12-16 22:52:05 +01:00
parent 3bf28bfc14
commit 58a33bd51c

View file

@ -384,11 +384,22 @@ LIBINPUT_EXPORT void
libinput_destroy(struct libinput *libinput)
{
struct libinput_event *event;
struct libinput_device *device, *next_device;
struct libinput_seat *seat, *next_seat;
while ((event = libinput_get_event(libinput)))
free(event);
free(libinput->events);
list_for_each_safe(seat, next_seat, &libinput->seat_list, link) {
list_for_each_safe(device, next_device,
&seat->devices_list,
link)
libinput_device_unref(device);
libinput_seat_unref(seat);
}
close(libinput->epoll_fd);
free(libinput);
}