From 1c0e2b7f97548eccaddbfcea4c6fb557e51f917a Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Wed, 5 Feb 2025 17:08:02 -0800 Subject: [PATCH] SDL_OpenHapticFromJoystick() returns a valid haptic object --- src/haptic/SDL_haptic.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/haptic/SDL_haptic.c b/src/haptic/SDL_haptic.c index ca1ab381ba..671a702736 100644 --- a/src/haptic/SDL_haptic.c +++ b/src/haptic/SDL_haptic.c @@ -131,6 +131,7 @@ SDL_Haptic *SDL_OpenHaptic(SDL_HapticID instance_id) haptic->instance_id = instance_id; haptic->rumble_id = -1; if (!SDL_SYS_HapticOpen(haptic)) { + SDL_SetObjectValid(haptic, SDL_OBJECT_TYPE_HAPTIC, false); SDL_free(haptic); return NULL; } @@ -268,9 +269,11 @@ SDL_Haptic *SDL_OpenHapticFromJoystick(SDL_Joystick *joystick) /* Initialize the haptic device * This function should fill in the instance ID and name. */ + SDL_SetObjectValid(haptic, SDL_OBJECT_TYPE_HAPTIC, true); haptic->rumble_id = -1; if (!SDL_SYS_HapticOpenFromJoystick(haptic, joystick)) { SDL_SetError("Haptic: SDL_SYS_HapticOpenFromJoystick failed."); + SDL_SetObjectValid(haptic, SDL_OBJECT_TYPE_HAPTIC, false); SDL_free(haptic); SDL_UnlockJoysticks(); return NULL;