Browse Source

joystick/vita: fix index value use returned by SDL_GetJoystickInstanceID

Reference issue: https://github.com/libsdl-org/SDL/issues/7051
Ozkan Sezer 2 years ago
parent
commit
f046788a5a
1 changed files with 3 additions and 3 deletions
  1. 3 3
      src/joystick/vita/SDL_sysjoystick.c

+ 3 - 3
src/joystick/vita/SDL_sysjoystick.c

@@ -226,7 +226,7 @@ static void VITA_JoystickUpdate(SDL_Joystick *joystick)
     SceCtrlData *pad = NULL;
     Uint64 timestamp = SDL_GetTicksNS();
 
-    int index = (int)SDL_GetJoystickInstanceID(joystick);
+    int index = (int)SDL_GetJoystickInstanceID(joystick) - 1;
 
     if (index == 0)
         pad = &pad0;
@@ -319,7 +319,7 @@ SDL_JoystickGUID VITA_JoystickGetDeviceGUID(int device_index)
 
 static int VITA_JoystickRumble(SDL_Joystick *joystick, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble)
 {
-    int index = (int)SDL_GetJoystickInstanceID(joystick);
+    int index = (int)SDL_GetJoystickInstanceID(joystick) - 1;
     SceCtrlActuator act;
     SDL_zero(act);
 
@@ -344,7 +344,7 @@ static Uint32 VITA_JoystickGetCapabilities(SDL_Joystick *joystick)
 
 static int VITA_JoystickSetLED(SDL_Joystick *joystick, Uint8 red, Uint8 green, Uint8 blue)
 {
-    int index = (int)SDL_GetJoystickInstanceID(joystick);
+    int index = (int)SDL_GetJoystickInstanceID(joystick) - 1;
     if (sceCtrlSetLightBar(ext_port_map[index], red, green, blue) < 0) {
         return SDL_Unsupported();
     }