summaryrefslogtreecommitdiff
path: root/Source/3rdParty/SDL2/src/haptic/windows/SDL_windowshaptic.c
diff options
context:
space:
mode:
Diffstat (limited to 'Source/3rdParty/SDL2/src/haptic/windows/SDL_windowshaptic.c')
-rw-r--r--Source/3rdParty/SDL2/src/haptic/windows/SDL_windowshaptic.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/Source/3rdParty/SDL2/src/haptic/windows/SDL_windowshaptic.c b/Source/3rdParty/SDL2/src/haptic/windows/SDL_windowshaptic.c
index 3d7361d..2e806c9 100644
--- a/Source/3rdParty/SDL2/src/haptic/windows/SDL_windowshaptic.c
+++ b/Source/3rdParty/SDL2/src/haptic/windows/SDL_windowshaptic.c
@@ -157,7 +157,7 @@ SDL_SYS_HapticMouse(void)
/* Grab the first mouse haptic device we find. */
for (item = SDL_hapticlist; item != NULL; item = item->next) {
- if (item->capabilities.dwDevType == DI8DEVCLASS_POINTER ) {
+ if (item->capabilities.dwDevType == DI8DEVCLASS_POINTER) {
return index;
}
++index;
@@ -173,14 +173,16 @@ SDL_SYS_HapticMouse(void)
int
SDL_SYS_JoystickIsHaptic(SDL_Joystick * joystick)
{
- const struct joystick_hwdata *hwdata = joystick->hwdata;
+ if (joystick->driver != &SDL_WINDOWS_JoystickDriver) {
+ return 0;
+ }
#if SDL_HAPTIC_XINPUT
- if (hwdata->bXInputHaptic) {
+ if (joystick->hwdata->bXInputHaptic) {
return 1;
}
#endif
#if SDL_HAPTIC_DINPUT
- if (hwdata->Capabilities.dwFlags & DIDC_FORCEFEEDBACK) {
+ if (joystick->hwdata->Capabilities.dwFlags & DIDC_FORCEFEEDBACK) {
return 1;
}
#endif
@@ -193,6 +195,9 @@ SDL_SYS_JoystickIsHaptic(SDL_Joystick * joystick)
int
SDL_SYS_JoystickSameHaptic(SDL_Haptic * haptic, SDL_Joystick * joystick)
{
+ if (joystick->driver != &SDL_WINDOWS_JoystickDriver) {
+ return 0;
+ }
if (joystick->hwdata->bXInputHaptic != haptic->hwdata->bXInputHaptic) {
return 0; /* one is XInput, one is not; not the same device. */
} else if (joystick->hwdata->bXInputHaptic) {
@@ -208,6 +213,8 @@ SDL_SYS_JoystickSameHaptic(SDL_Haptic * haptic, SDL_Joystick * joystick)
int
SDL_SYS_HapticOpenFromJoystick(SDL_Haptic * haptic, SDL_Joystick * joystick)
{
+ SDL_assert(joystick->driver == &SDL_WINDOWS_JoystickDriver);
+
if (joystick->hwdata->bXInputDevice) {
return SDL_XINPUT_HapticOpenFromJoystick(haptic, joystick);
} else {