From da9eace8db4914be8693bc6a1bdd6b32d604d7c8 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 30 Jan 2020 10:49:06 +1000 Subject: [PATCH] tools: record: fix broken event time stamp recording event->time ended up being an uninitialized field. Introduced in 5dc1a7e, the event here isn't a struct input event but rather our internal event struct. Fix this and reshuffle the time handling a bit so it's a bit more obvious here. Signed-off-by: Peter Hutterer --- tools/libinput-record.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/libinput-record.c b/tools/libinput-record.c index 35d6af42..04f6ccc1 100644 --- a/tools/libinput-record.c +++ b/tools/libinput-record.c @@ -279,18 +279,19 @@ handle_evdev_frame(struct record_context *ctx, struct record_device *d) while (libevdev_next_event(evdev, LIBEVDEV_READ_FLAG_NORMAL, &e) == LIBEVDEV_READ_STATUS_SUCCESS) { - uint64_t time; + uint64_t time = input_event_time(&e); if (ctx->offset == 0) - ctx->offset = input_event_time(&e); + ctx->offset = time; + else + time = time_offset(ctx, time); if (d->nevents == d->events_sz) resize(d->events, d->events_sz); event = &d->events[d->nevents++]; event->type = EVDEV; - time = input_event_time(&e); - input_event_set_time(&e, time - ctx->offset); + event->time = time; event->u.evdev = e; count++;