Fixed bug 5010 - SDL_Init with SDL_INIT_JOYSTICK hangs for 10 seconds when playing audio from another application

Jake Breen

I have tracked it down to a call on
hid_device_info() -> HidD_GetManufacturerString (Line 499 in src\hidapi\windows\hid.c)
This commit is contained in:
Sam Lantinga 2020-03-02 17:31:58 -08:00
parent c7a739bef4
commit 07000bfc33
2 changed files with 7 additions and 4 deletions

View File

@ -310,6 +310,12 @@ int hid_blacklist(unsigned short vendor_id, unsigned short product_id)
return 1; return 1;
} }
// Sound BlasterX G1 - Causes 10 second stalls when asking for manufacturer's string
if ( vendor_id == 0x041E && product_id == 0x3249 )
{
return 1;
}
return 0; return 0;
} }

View File

@ -1687,13 +1687,10 @@ static SDL_bool SDL_IsPS4RemapperRunning(void)
SDL_bool SDL_ShouldIgnoreJoystick(const char *name, SDL_JoystickGUID guid) SDL_bool SDL_ShouldIgnoreJoystick(const char *name, SDL_JoystickGUID guid)
{ {
/* This list (except for marked entries at the top) is taken from: /* This list is taken from:
https://raw.githubusercontent.com/denilsonsa/udev-joystick-blacklist/master/generate_rules.py https://raw.githubusercontent.com/denilsonsa/udev-joystick-blacklist/master/generate_rules.py
*/ */
static Uint32 joystick_blacklist[] = { static Uint32 joystick_blacklist[] = {
/* Sound BlasterX G1 */
MAKE_VIDPID(0x041E, 0x3249),
/* Microsoft Microsoft Wireless Optical Desktop® 2.10 */ /* Microsoft Microsoft Wireless Optical Desktop® 2.10 */
/* Microsoft Wireless Desktop - Comfort Edition */ /* Microsoft Wireless Desktop - Comfort Edition */
MAKE_VIDPID(0x045e, 0x009d), MAKE_VIDPID(0x045e, 0x009d),