Aric Stewart : winebus: Properly identify SDL joysticks index when hot-plugged.
Alexandre Julliard
julliard at winehq.org
Tue May 8 15:58:58 CDT 2018
Module: wine
Branch: master
Commit: 5631402651ba39a1990b7668bf8dc58c71302308
URL: https://source.winehq.org/git/wine.git/?a=commit;h=5631402651ba39a1990b7668bf8dc58c71302308
Author: Aric Stewart <aric at codeweavers.com>
Date: Tue May 8 10:57:29 2018 -0500
winebus: Properly identify SDL joysticks index when hot-plugged.
Signed-off-by: Aric Stewart <aric at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/winebus.sys/bus_sdl.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/dlls/winebus.sys/bus_sdl.c b/dlls/winebus.sys/bus_sdl.c
index e666d04..03e7cb3 100644
--- a/dlls/winebus.sys/bus_sdl.c
+++ b/dlls/winebus.sys/bus_sdl.c
@@ -817,7 +817,7 @@ static void try_add_device(SDL_JoystickID index)
if (map_controllers && pSDL_IsGameController(index))
controller = pSDL_GameControllerOpen(index);
- id = index;
+ id = pSDL_JoystickInstanceID(joystick);
if (controller)
{
vid = VID_MICROSOFT;
@@ -846,7 +846,7 @@ static void try_add_device(SDL_JoystickID index)
if (controller)
{
TRACE("Found sdl game controller %i (vid %04x, pid %04x, version %u, serial %s)\n",
- index, vid, pid, version, debugstr_w(serial));
+ id, vid, pid, version, debugstr_w(serial));
is_xbox_gamepad = TRUE;
}
else
@@ -854,14 +854,14 @@ static void try_add_device(SDL_JoystickID index)
int button_count, axis_count;
TRACE("Found sdl device %i (vid %04x, pid %04x, version %u, serial %s)\n",
- index, vid, pid, version, debugstr_w(serial));
+ id, vid, pid, version, debugstr_w(serial));
axis_count = pSDL_JoystickNumAxes(joystick);
button_count = pSDL_JoystickNumAxes(joystick);
is_xbox_gamepad = (axis_count == 6 && button_count >= 14);
}
- device = bus_create_hid_device(sdl_driver_obj, sdl_busidW, vid, pid, version, 0, serial, is_xbox_gamepad, &GUID_DEVCLASS_SDL, &sdl_vtbl, sizeof(struct platform_private));
+ device = bus_create_hid_device(sdl_driver_obj, sdl_busidW, vid, pid, version, id, serial, is_xbox_gamepad, &GUID_DEVCLASS_SDL, &sdl_vtbl, sizeof(struct platform_private));
if (device)
{
@@ -885,7 +885,7 @@ static void try_add_device(SDL_JoystickID index)
}
else
{
- WARN("Ignoring device %i\n", index);
+ WARN("Ignoring device %i\n", id);
}
}
More information about the wine-cvs
mailing list