[arch-commits] Commit in sdl2/trunk (fix-hidapi.patch)
Sven-Hendrik Haase
svenstaro at gemini.archlinux.org
Sun Dec 19 13:29:47 UTC 2021
Date: Sunday, December 19, 2021 @ 13:29:46
Author: svenstaro
Revision: 432780
Remove old patch
Deleted:
sdl2/trunk/fix-hidapi.patch
------------------+
fix-hidapi.patch | 165 -----------------------------------------------------
1 file changed, 165 deletions(-)
Deleted: fix-hidapi.patch
===================================================================
--- fix-hidapi.patch 2021-12-19 11:48:10 UTC (rev 432779)
+++ fix-hidapi.patch 2021-12-19 13:29:46 UTC (rev 432780)
@@ -1,165 +0,0 @@
---- a/src/hidapi/SDL_hidapi.c Sun Jun 28 17:45:07 2020 -0400
-+++ a/src/hidapi/SDL_hidapi.c Mon Jul 06 10:47:27 2020 +0200
-@@ -301,7 +301,7 @@
- #include "hidapi.h"
-
- struct hidapi_backend {
--#define F(x) typeof(x) *x
-+#define F(x) __typeof__(x) *x
- F(hid_write);
- F(hid_read_timeout);
- F(hid_read);
-@@ -458,8 +458,9 @@
- #ifdef SDL_LIBUSB_DYNAMIC
- libusb_ctx.libhandle = SDL_LoadObject(SDL_LIBUSB_DYNAMIC);
- if (libusb_ctx.libhandle != NULL) {
-+ SDL_bool loaded = SDL_TRUE;
- #define LOAD_LIBUSB_SYMBOL(func) \
-- libusb_ctx.func = SDL_LoadFunction(libusb_ctx.libhandle, "libusb_" #func);
-+ if (!(libusb_ctx.func = SDL_LoadFunction(libusb_ctx.libhandle, "libusb_" #func))) {loaded = SDL_FALSE;}
- LOAD_LIBUSB_SYMBOL(init)
- LOAD_LIBUSB_SYMBOL(exit)
- LOAD_LIBUSB_SYMBOL(get_device_list)
-@@ -488,9 +489,17 @@
- LOAD_LIBUSB_SYMBOL(handle_events_completed)
- #undef LOAD_LIBUSB_SYMBOL
-
-- if ((err = LIBUSB_hid_init()) < 0) {
-+ if (loaded == SDL_TRUE) {
-+ if ((err = LIBUSB_hid_init()) < 0) {
-+ SDL_UnloadObject(libusb_ctx.libhandle);
-+ libusb_ctx.libhandle = NULL;
-+ return err;
-+ }
-+ } else {
- SDL_UnloadObject(libusb_ctx.libhandle);
-- return err;
-+ libusb_ctx.libhandle = NULL;
-+ /* SDL_LogWarn(SDL_LOG_CATEGORY_INPUT, SDL_LIBUSB_DYNAMIC " found but could not load function."); */
-+ /* ignore error: continue without libusb */
- }
- }
- #endif /* SDL_LIBUSB_DYNAMIC */
-@@ -502,13 +511,16 @@
- if (udev_ctx && (err = PLATFORM_hid_init()) < 0) {
- #ifdef SDL_LIBUSB_DYNAMIC
- if (libusb_ctx.libhandle) {
-+ LIBUSB_hid_exit();
- SDL_UnloadObject(libusb_ctx.libhandle);
-+ libusb_ctx.libhandle = NULL;
- }
- #endif /* SDL_LIBUSB_DYNAMIC */
- return err;
- }
- #endif /* HAVE_PLATFORM_BACKEND */
-
-+ SDL_hidapi_wasinit = SDL_TRUE;
- return 0;
- }
-
-@@ -519,6 +531,7 @@
- if (SDL_hidapi_wasinit == SDL_FALSE) {
- return 0;
- }
-+ SDL_hidapi_wasinit = SDL_FALSE;
-
- #if HAVE_PLATFORM_BACKEND
- if (udev_ctx) {
-@@ -529,6 +542,7 @@
- if (libusb_ctx.libhandle) {
- err |= LIBUSB_hid_exit(); /* Ehhhhh */
- SDL_UnloadObject(libusb_ctx.libhandle);
-+ libusb_ctx.libhandle = NULL;
- }
- #endif /* SDL_LIBUSB_DYNAMIC */
- return err;
-@@ -546,16 +560,30 @@
- #endif
- struct hid_device_info *devs = NULL, *last = NULL, *new_dev;
-
-- if (SDL_hidapi_wasinit == SDL_FALSE) {
-- hid_init();
-+ if (hid_init() != 0) {
-+ return NULL;
- }
-
- #ifdef SDL_LIBUSB_DYNAMIC
- if (libusb_ctx.libhandle) {
- usb_devs = LIBUSB_hid_enumerate(vendor_id, product_id);
-+ #ifdef DEBUG_HIDAPI
-+ SDL_Log("libusb devices found:");
-+ #endif
- for (usb_dev = usb_devs; usb_dev; usb_dev = usb_dev->next) {
- new_dev = (struct hid_device_info*) SDL_malloc(sizeof(struct hid_device_info));
-+ if (!new_dev) {
-+ LIBUSB_hid_free_enumeration(usb_devs);
-+ hid_free_enumeration(devs);
-+ SDL_OutOfMemory();
-+ return NULL;
-+ }
- LIBUSB_CopyHIDDeviceInfo(usb_dev, new_dev);
-+ #ifdef DEBUG_HIDAPI
-+ SDL_Log(" - %ls %ls 0x%.4hx 0x%.4hx",
-+ usb_dev->manufacturer_string, usb_dev->product_string,
-+ usb_dev->vendor_id, usb_dev->product_id);
-+ #endif
-
- if (last != NULL) {
- last->next = new_dev;
-@@ -570,8 +598,16 @@
- #if HAVE_PLATFORM_BACKEND
- if (udev_ctx) {
- raw_devs = PLATFORM_hid_enumerate(vendor_id, product_id);
-+#ifdef DEBUG_HIDAPI
-+ SDL_Log("hidraw devices found:");
-+#endif
- for (raw_dev = raw_devs; raw_dev; raw_dev = raw_dev->next) {
- SDL_bool bFound = SDL_FALSE;
-+#ifdef DEBUG_HIDAPI
-+ SDL_Log(" - %ls %ls 0x%.4hx 0x%.4hx",
-+ raw_dev->manufacturer_string, raw_dev->product_string,
-+ raw_dev->vendor_id, raw_dev->product_id);
-+#endif
- #ifdef SDL_LIBUSB_DYNAMIC
- for (usb_dev = usb_devs; usb_dev; usb_dev = usb_dev->next) {
- if (raw_dev->vendor_id == usb_dev->vendor_id &&
-@@ -584,6 +620,17 @@
- #endif
- if (!bFound) {
- new_dev = (struct hid_device_info*) SDL_malloc(sizeof(struct hid_device_info));
-+ if (!new_dev) {
-+#ifdef SDL_LIBUSB_DYNAMIC
-+ if (libusb_ctx.libhandle) {
-+ LIBUSB_hid_free_enumeration(usb_devs);
-+ }
-+#endif
-+ PLATFORM_hid_free_enumeration(raw_devs);
-+ hid_free_enumeration(devs);
-+ SDL_OutOfMemory();
-+ return NULL;
-+ }
- PLATFORM_CopyHIDDeviceInfo(raw_dev, new_dev);
- new_dev->next = NULL;
-
-@@ -624,8 +671,8 @@
- {
- hid_device *pDevice = NULL;
-
-- if (SDL_hidapi_wasinit == SDL_FALSE) {
-- hid_init();
-+ if (hid_init() != 0) {
-+ return NULL;
- }
-
- #if HAVE_PLATFORM_BACKEND
-@@ -651,8 +698,8 @@
- {
- hid_device *pDevice = NULL;
-
-- if (SDL_hidapi_wasinit == SDL_FALSE) {
-- hid_init();
-+ if (hid_init() != 0) {
-+ return NULL;
- }
-
- #if HAVE_PLATFORM_BACKEND
More information about the arch-commits
mailing list