From a09548eb00f67c462219948a1263fe81a8329d5c Mon Sep 17 00:00:00 2001 From: Edward Rudd Date: Thu, 6 Feb 2014 09:35:44 -0500 Subject: [PATCH] Fix device counting in HapticMouse and JoystickOpen routines. 0 is the first item in the list not the last --- src/haptic/darwin/SDL_syshaptic.c | 6 +++--- src/haptic/linux/SDL_syshaptic.c | 2 +- src/haptic/windows/SDL_syshaptic.c | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/haptic/darwin/SDL_syshaptic.c b/src/haptic/darwin/SDL_syshaptic.c index beef0101da59a..306eda9b42f57 100644 --- a/src/haptic/darwin/SDL_syshaptic.c +++ b/src/haptic/darwin/SDL_syshaptic.c @@ -199,7 +199,7 @@ HapticByDevIndex(int device_index) while (device_index > 0) { SDL_assert(item != NULL); - device_index--; + --device_index; item = item->next; } @@ -571,7 +571,7 @@ SDL_SYS_HapticOpen(SDL_Haptic * haptic) int SDL_SYS_HapticMouse(void) { - int device_index = numhaptics-1; + int device_index = 0; SDL_hapticlist_item *item; for (item = SDL_hapticlist; item; item = item->next) { @@ -579,7 +579,7 @@ SDL_SYS_HapticMouse(void) (item->usage == kHIDUsage_GD_Mouse)) { return device_index; } - device_index--; + ++device_index; } return -1; diff --git a/src/haptic/linux/SDL_syshaptic.c b/src/haptic/linux/SDL_syshaptic.c index 764434f1dce59..558177bc5ee28 100644 --- a/src/haptic/linux/SDL_syshaptic.c +++ b/src/haptic/linux/SDL_syshaptic.c @@ -202,7 +202,7 @@ HapticByDevIndex(int device_index) while (device_index > 0) { SDL_assert(item != NULL); - device_index--; + --device_index; item = item->next; } diff --git a/src/haptic/windows/SDL_syshaptic.c b/src/haptic/windows/SDL_syshaptic.c index a68cd34f6ec8c..6be0e4dcf5857 100644 --- a/src/haptic/windows/SDL_syshaptic.c +++ b/src/haptic/windows/SDL_syshaptic.c @@ -442,7 +442,7 @@ HapticByDevIndex(int device_index) while (device_index > 0) { SDL_assert(item != NULL); - device_index--; + --device_index; item = item->next; } @@ -784,7 +784,7 @@ int SDL_SYS_HapticMouse(void) { SDL_hapticlist_item *item; - int index = numhaptics-1; + int index = 0; /* Grab the first mouse haptic device we find. */ for (item = SDL_hapticlist; item != NULL; item = item->next) { @@ -792,7 +792,7 @@ SDL_SYS_HapticMouse(void) if (item->capabilities.dwDevType == DI8DEVCLASS_POINTER ) { return index; } - index--; + ++index; } return -1; @@ -855,7 +855,7 @@ int SDL_SYS_HapticOpenFromJoystick(SDL_Haptic * haptic, SDL_Joystick * joystick) { SDL_hapticlist_item *item; - int index = numhaptics-1; + int index = 0; /* Since it comes from a joystick we have to try to match it with a haptic device on our haptic list. */ if (joystick->hwdata->bXInputDevice) { @@ -866,7 +866,7 @@ SDL_SYS_HapticOpenFromJoystick(SDL_Haptic * haptic, SDL_Joystick * joystick) haptic->index = index; return SDL_SYS_HapticOpenFromXInput(haptic, userid); } - index--; + ++index; } } else { HRESULT idret; @@ -883,7 +883,7 @@ SDL_SYS_HapticOpenFromJoystick(SDL_Haptic * haptic, SDL_Joystick * joystick) haptic->index = index; return SDL_SYS_HapticOpenFromDevice8(haptic, joystick->hwdata->InputDevice, SDL_TRUE); } - index--; + ++index; } }