Remove libusb_device field
It is possible to retrieve the device instance from the handle via libusb_get_device(), so we don't need to reference the device one more time. PR #2974 <https://github.com/Genymobile/scrcpy/pull/2974>
This commit is contained in:
@@ -84,17 +84,17 @@ sc_usb_init(struct sc_usb *usb, const char *serial) {
|
||||
return false;
|
||||
}
|
||||
|
||||
usb->device = sc_usb_find_device(serial);
|
||||
if (!usb->device) {
|
||||
libusb_device *device = sc_usb_find_device(serial);
|
||||
if (!device) {
|
||||
LOGW("USB device %s not found", serial);
|
||||
libusb_exit(usb->context);
|
||||
return false;
|
||||
}
|
||||
|
||||
usb->handle = sc_usb_open_handle(usb->device);
|
||||
usb->handle = sc_usb_open_handle(device);
|
||||
libusb_unref_device(device);
|
||||
if (!usb->handle) {
|
||||
LOGW("Could not open USB device %s", serial);
|
||||
libusb_unref_device(usb->device);
|
||||
libusb_exit(usb->context);
|
||||
return false;
|
||||
}
|
||||
@@ -105,6 +105,5 @@ sc_usb_init(struct sc_usb *usb, const char *serial) {
|
||||
void
|
||||
sc_usb_destroy(struct sc_usb *usb) {
|
||||
libusb_close(usb->handle);
|
||||
libusb_unref_device(usb->device);
|
||||
libusb_exit(usb->context);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user