if (event == NULL)
return;
- switch (libinput_event_get_type(event)) {
- case LIBINPUT_EVENT_NONE:
- abort(); /* not used as actual event type */
- case LIBINPUT_EVENT_DEVICE_ADDED:
- case LIBINPUT_EVENT_DEVICE_REMOVED:
- break;
- case LIBINPUT_EVENT_KEYBOARD_KEY:
- case LIBINPUT_EVENT_POINTER_MOTION:
- case LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE:
- case LIBINPUT_EVENT_POINTER_BUTTON:
- case LIBINPUT_EVENT_POINTER_AXIS:
- case LIBINPUT_EVENT_TOUCH_TOUCH:
- case LIBINPUT_EVENT_TOUCH_FRAME:
+ if (event->device)
libinput_device_unref(event->device);
- break;
- }
free(event);
}
libinput->events_len = events_len;
}
- switch (libinput_event_get_type(event)) {
- case LIBINPUT_EVENT_NONE:
- abort(); /* not used as actual event type */
- case LIBINPUT_EVENT_DEVICE_ADDED:
- case LIBINPUT_EVENT_DEVICE_REMOVED:
- break;
- case LIBINPUT_EVENT_KEYBOARD_KEY:
- case LIBINPUT_EVENT_POINTER_MOTION:
- case LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE:
- case LIBINPUT_EVENT_POINTER_BUTTON:
- case LIBINPUT_EVENT_POINTER_AXIS:
- case LIBINPUT_EVENT_TOUCH_TOUCH:
- case LIBINPUT_EVENT_TOUCH_FRAME:
+ if (event->device)
libinput_device_ref(event->device);
- break;
- }
libinput->events_count = events_count;
events[libinput->events_in] = event;