diff --git a/src/hidapi/SDL_hidapi.c b/src/hidapi/SDL_hidapi.c index 67deccefd..e7dfd1a3e 100644 --- a/src/hidapi/SDL_hidapi.c +++ b/src/hidapi/SDL_hidapi.c @@ -492,18 +492,28 @@ HIDAPI_ShutdownDiscovery() #endif #if defined(SDL_USE_LIBUDEV) - if (linux_enumeration_method == ENUMERATION_LIBUDEV && - usyms) { - if (SDL_HIDAPI_discovery.m_pUdevMonitor) { - usyms->udev_monitor_unref(SDL_HIDAPI_discovery.m_pUdevMonitor); + if (linux_enumeration_method == ENUMERATION_LIBUDEV) { + if (usyms) { + if (SDL_HIDAPI_discovery.m_pUdevMonitor) { + usyms->udev_monitor_unref(SDL_HIDAPI_discovery.m_pUdevMonitor); + } + if (SDL_HIDAPI_discovery.m_pUdev) { + usyms->udev_unref(SDL_HIDAPI_discovery.m_pUdev); + } + SDL_UDEV_ReleaseUdevSyms(); + usyms = NULL; } - if (SDL_HIDAPI_discovery.m_pUdev) { - usyms->udev_unref(SDL_HIDAPI_discovery.m_pUdev); - } - SDL_UDEV_ReleaseUdevSyms(); - usyms = NULL; } + else +#endif /* SDL_USE_LIBUDEV */ + { +#if defined(HAVE_INOTIFY) + if (inotify_fd >= 0) { + close(inotify_fd); + inotify_fd = -1; + } #endif + } SDL_HIDAPI_discovery.m_bInitialized = SDL_FALSE; } diff --git a/src/joystick/hidapi/SDL_hidapijoystick.c b/src/joystick/hidapi/SDL_hidapijoystick.c index 0f4e46ab4..91865ade6 100644 --- a/src/joystick/hidapi/SDL_hidapijoystick.c +++ b/src/joystick/hidapi/SDL_hidapijoystick.c @@ -1003,13 +1003,6 @@ HIDAPI_JoystickQuit(void) SDL_HIDAPI_QuitRumble(); -#if defined(HAVE_INOTIFY) - if (inotify_fd >= 0) { - close(inotify_fd); - inotify_fd = -1; - } -#endif - while (SDL_HIDAPI_devices) { HIDAPI_DelDevice(SDL_HIDAPI_devices); }