diff --git a/src/joystick/hidapi/SDL_hidapijoystick.c b/src/joystick/hidapi/SDL_hidapijoystick.c index bec9c90714..aec6463347 100644 --- a/src/joystick/hidapi/SDL_hidapijoystick.c +++ b/src/joystick/hidapi/SDL_hidapijoystick.c @@ -1135,12 +1135,13 @@ check_removed: goto check_removed; } else { HIDAPI_DelDevice(device); + device = NULL; // Update the device list again in case this device comes back SDL_HIDAPI_change_count = 0; } } - if (device->broken && device->parent) { + if (device && device->broken && device->parent) { HIDAPI_DelDevice(device->parent); // We deleted a different device here, restart the loop