Unref frame events when discarding an empty frame

Otherwise we leak that frame event.

Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/366>
This commit is contained in:
Peter Hutterer 2025-12-12 16:17:50 +10:00
parent 26e671f192
commit fe47a0a1f7
2 changed files with 6 additions and 2 deletions

View file

@ -285,8 +285,10 @@ queue_event(struct ei *ei, struct ei_event *event)
break;
case EI_EVENT_FRAME:
/* silently discard empty frames */
if (list_empty(&device->pending_event_queue))
if (list_empty(&device->pending_event_queue)) {
ei_event_unref(event);
return;
}
struct ei_event *pending;
list_for_each_safe(pending, &device->pending_event_queue, link) {

View file

@ -216,8 +216,10 @@ eis_queue_event(struct eis_event *event)
break;
case EIS_EVENT_FRAME: {
/* silently discard empty frames */
if (list_empty(&device->pending_event_queue))
if (list_empty(&device->pending_event_queue)) {
eis_event_unref(event);
return;
}
struct eis_event *pending;
list_for_each_safe(pending, &device->pending_event_queue, link) {