From 04fa488a22919c4c57de7d2393fcf3817d166026 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 3 Sep 2015 13:13:07 +1000 Subject: [PATCH] Allow a NULL udev device for ratbag_device_new The client-exposed API requires a valid device, but internally we can handle NULL - this way we can hook up the test suite easier. Signed-off-by: Peter Hutterer --- src/libratbag.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/libratbag.c b/src/libratbag.c index 3b2729ff..23796602 100644 --- a/src/libratbag.c +++ b/src/libratbag.c @@ -260,7 +260,8 @@ ratbag_device_new(struct ratbag *ratbag, struct udev_device *udev_device, device->ratbag = ratbag_ref(ratbag); device->hidraw_fd = -1; device->refcount = 1; - device->udev_device = udev_device_ref(udev_device); + if (udev_device) + device->udev_device = udev_device_ref(udev_device); device->ids = *id; list_init(&device->profiles); @@ -476,6 +477,10 @@ ratbag_device_new_from_udev_device(struct ratbag *ratbag, return NULL; } + if (!udev_device) { + log_bug_client(ratbag, "udev device is NULL.\n"); + return NULL; + } if (get_product_id(udev_device, &id) != 0) goto out_err;