diff --git a/src/joystick/win32/SDL_mmjoystick.c b/src/joystick/win32/SDL_mmjoystick.c index 8a9859495..e897148a1 100644 --- a/src/joystick/win32/SDL_mmjoystick.c +++ b/src/joystick/win32/SDL_mmjoystick.c @@ -85,14 +85,22 @@ int SDL_SYS_JoystickInit(void) numdevs = 0; maxdevs = joyGetNumDevs(); + if ( maxdevs > MAX_JOYSTICKS ) { maxdevs = MAX_JOYSTICKS; } + SYS_JoystickID[0] = JOYSTICKID1; SYS_JoystickID[1] = JOYSTICKID2; for ( i = 0; (i < maxdevs); ++i ) { + + /* added 8/31/2001 By Vitaliy Mikitchenko */ + joyinfo.dwSize = sizeof(joyinfo); + joyinfo.dwFlags = JOY_RETURNALL; + /* end addition */ + result = joyGetPosEx(SYS_JoystickID[i], &joyinfo); if ( result == JOYERR_NOERROR ) { result = joyGetDevCaps(SYS_JoystickID[i], &joycaps, sizeof(joycaps));