Commit 36d58451528d7aad8cdc255d7592442e9e25b7fa

David Ludwig 2020-03-17T02:31:47

Backout prior fix for Bug 5034, which needs more research This backs-out the change, https://hg.libsdl.org/SDL/rev/14c961903135

diff --git a/src/joystick/darwin/SDL_sysjoystick.c b/src/joystick/darwin/SDL_sysjoystick.c
index 786b94f..44d4136 100644
--- a/src/joystick/darwin/SDL_sysjoystick.c
+++ b/src/joystick/darwin/SDL_sysjoystick.c
@@ -125,7 +125,6 @@ static recDevice *
 FreeDevice(recDevice *removeDevice)
 {
     recDevice *pDeviceNext = NULL;
-    SDL_Joystick *joystick = NULL;
     if (removeDevice) {
         if (removeDevice->deviceRef) {
             IOHIDDeviceUnscheduleFromRunLoop(removeDevice->deviceRef, CFRunLoopGetCurrent(), SDL_JOYSTICK_RUNLOOP_MODE);
@@ -147,14 +146,6 @@ FreeDevice(recDevice *removeDevice)
         }
         removeDevice->pNext = NULL;
 
-        /* clear out any reference to this recDevice that are being
-         * held by a live instance of SDL_Joystick
-         */
-        joystick = SDL_JoystickFromInstanceID(removeDevice->instance_id);
-        if (joystick) {
-            joystick->hwdata = NULL;
-        }
-
         /* free element lists */
         FreeElementList(removeDevice->firstAxis);
         FreeElementList(removeDevice->firstButton);
@@ -880,10 +871,6 @@ DARWIN_JoystickRumble(SDL_Joystick * joystick, Uint16 low_frequency_rumble, Uint
     /* Scale and average the two rumble strengths */
     Sint16 magnitude = (Sint16)(((low_frequency_rumble / 2) + (high_frequency_rumble / 2)) / 2);
 
-    if (!device) {
-        return SDL_SetError("Rumble failed, device disconnected");
-    }
-
     if (!device->ffservice) {
         return SDL_Unsupported();
     }