darwin: Don't pass NULL device refs to IOHIDDeviceGetValue(). Possibly fixes Bugzilla #4961.
diff --git a/src/joystick/darwin/SDL_sysjoystick.c b/src/joystick/darwin/SDL_sysjoystick.c
index fc3ff31..49d9b15 100644
--- a/src/joystick/darwin/SDL_sysjoystick.c
+++ b/src/joystick/darwin/SDL_sysjoystick.c
@@ -161,7 +161,7 @@ GetHIDElementState(recDevice *pDevice, recElement *pElement, SInt32 *pValue)
SInt32 value = 0;
int returnValue = SDL_FALSE;
- if (pDevice && pElement) {
+ if (pDevice && pDevice->deviceRef && pElement) {
IOHIDValueRef valueRef;
if (IOHIDDeviceGetValue(pDevice->deviceRef, pElement->elementRef, &valueRef) == kIOReturnSuccess) {
value = (SInt32) IOHIDValueGetIntegerValue(valueRef);