Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Fix device counting in HapticMouse and JoystickOpen routines. 0 is th…
…e first item in the list not the last
- Loading branch information
|
@@ -199,7 +199,7 @@ HapticByDevIndex(int device_index) |
|
|
|
|
|
while (device_index > 0) { |
|
|
SDL_assert(item != NULL); |
|
|
device_index--; |
|
|
--device_index; |
|
|
item = item->next; |
|
|
} |
|
|
|
|
@@ -571,15 +571,15 @@ 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) { |
|
|
if ((item->usagePage == kHIDPage_GenericDesktop) && |
|
|
(item->usage == kHIDUsage_GD_Mouse)) { |
|
|
return device_index; |
|
|
} |
|
|
device_index--; |
|
|
++device_index; |
|
|
} |
|
|
|
|
|
return -1; |
|
|
|
@@ -202,7 +202,7 @@ HapticByDevIndex(int device_index) |
|
|
|
|
|
while (device_index > 0) { |
|
|
SDL_assert(item != NULL); |
|
|
device_index--; |
|
|
--device_index; |
|
|
item = item->next; |
|
|
} |
|
|
|
|
|
|
@@ -442,7 +442,7 @@ HapticByDevIndex(int device_index) |
|
|
|
|
|
while (device_index > 0) { |
|
|
SDL_assert(item != NULL); |
|
|
device_index--; |
|
|
--device_index; |
|
|
item = item->next; |
|
|
} |
|
|
|
|
@@ -784,15 +784,15 @@ 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) { |
|
|
SDL_assert(index >= 0); |
|
|
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; |
|
|
} |
|
|
} |
|
|
|
|
|