mirror of
https://github.com/libretro/RetroArch
synced 2025-04-09 21:45:45 +00:00
Merge pull request #9772 from DuMOHsmol/xbox_one_bluetooth_fix
Get rid of 128 byte device name limit for XInput device discover
This commit is contained in:
commit
4aa936ce33
@ -255,9 +255,9 @@ static bool guid_is_xinput_device(const GUID* product_guid)
|
|||||||
for (i = 0; i < num_raw_devs; i++)
|
for (i = 0; i < num_raw_devs; i++)
|
||||||
{
|
{
|
||||||
RID_DEVICE_INFO rdi;
|
RID_DEVICE_INFO rdi;
|
||||||
char devName[128] = {0};
|
char *devName = NULL;
|
||||||
UINT rdiSize = sizeof(rdi);
|
UINT rdiSize = sizeof(rdi);
|
||||||
UINT nameSize = sizeof(devName);
|
UINT nameSize = 0;
|
||||||
|
|
||||||
rdi.cbSize = sizeof (rdi);
|
rdi.cbSize = sizeof (rdi);
|
||||||
|
|
||||||
@ -266,13 +266,20 @@ static bool guid_is_xinput_device(const GUID* product_guid)
|
|||||||
RIDI_DEVICEINFO, &rdi, &rdiSize) != ((UINT)-1)) &&
|
RIDI_DEVICEINFO, &rdi, &rdiSize) != ((UINT)-1)) &&
|
||||||
(MAKELONG(rdi.hid.dwVendorId, rdi.hid.dwProductId)
|
(MAKELONG(rdi.hid.dwVendorId, rdi.hid.dwProductId)
|
||||||
== ((LONG)product_guid->Data1)) &&
|
== ((LONG)product_guid->Data1)) &&
|
||||||
|
(GetRawInputDeviceInfoA(raw_devs[i].hDevice, RIDI_DEVICENAME, NULL, &nameSize) != ((UINT)-1)) &&
|
||||||
|
((devName = malloc(nameSize)) != NULL) &&
|
||||||
(GetRawInputDeviceInfoA(raw_devs[i].hDevice, RIDI_DEVICENAME, devName, &nameSize) != ((UINT)-1)) &&
|
(GetRawInputDeviceInfoA(raw_devs[i].hDevice, RIDI_DEVICENAME, devName, &nameSize) != ((UINT)-1)) &&
|
||||||
(strstr(devName, "IG_") != NULL) )
|
(strstr(devName, "IG_") != NULL) )
|
||||||
{
|
{
|
||||||
|
free(devName);
|
||||||
free(raw_devs);
|
free(raw_devs);
|
||||||
raw_devs = NULL;
|
raw_devs = NULL;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (devName) {
|
||||||
|
free(devName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
free(raw_devs);
|
free(raw_devs);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user