Fixed crash when the joystick can't be opened

main
Sam Lantinga 2023-07-17 17:35:38 -07:00
parent 2ebbfe7c5b
commit eb8b5ed3a4
1 changed files with 11 additions and 2 deletions

View File

@ -295,16 +295,25 @@ static int StandardizeAxisValue(int nValue)
static void RefreshControllerName(void)
{
const char *name = NULL;
SDL_free(controller_name);
controller_name = NULL;
if (controller) {
if (controller->gamepad) {
controller_name = SDL_strdup(SDL_GetGamepadName(controller->gamepad));
name = SDL_GetGamepadName(controller->gamepad);
} else {
controller_name = SDL_strdup(SDL_GetJoystickName(controller->joystick));
name = SDL_GetJoystickName(controller->joystick);
}
}
SDL_free(controller_name);
if (name) {
controller_name = SDL_strdup(name);
} else {
controller_name = SDL_strdup("");
}
}
static void SetAndFreeGamepadMapping(char *mapping)