From 42d6ac28cf391aad8a156672dbf364a927d5ac44 Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Mon, 5 Sep 2022 18:16:30 +0100 Subject: Skip some functionality when emulating --- gusb/gusb-device.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gusb/gusb-device.c b/gusb/gusb-device.c index 6102f27..12ffd77 100644 --- a/gusb/gusb-device.c +++ b/gusb/gusb-device.c @@ -644,6 +644,10 @@ g_usb_device_open(GUsbDevice *self, GError **error) g_return_val_if_fail(G_USB_IS_DEVICE(self), FALSE); g_return_val_if_fail(error == NULL || *error == NULL, FALSE); + /* emulated */ + if (priv->device == NULL) + return TRUE; + /* ignore */ if (g_usb_context_get_flags(priv->context) & G_USB_CONTEXT_FLAGS_AUTO_OPEN_DEVICES) return TRUE; @@ -964,6 +968,10 @@ g_usb_device_close(GUsbDevice *self, GError **error) g_return_val_if_fail(G_USB_IS_DEVICE(self), FALSE); g_return_val_if_fail(error == NULL || *error == NULL, FALSE); + /* emulated */ + if (priv->device == NULL) + return TRUE; + /* ignore */ if (g_usb_context_get_flags(priv->context) & G_USB_CONTEXT_FLAGS_AUTO_OPEN_DEVICES) return TRUE; @@ -1001,6 +1009,10 @@ g_usb_device_reset(GUsbDevice *self, GError **error) g_return_val_if_fail(G_USB_IS_DEVICE(self), FALSE); g_return_val_if_fail(error == NULL || *error == NULL, FALSE); + /* emulated */ + if (priv->device == NULL) + return TRUE; + if (priv->handle == NULL) return g_usb_device_not_open_error(self, error); -- cgit v1.2.1