Fixed detecting the wired XBox 360 controller on Linux

Also added some more debug output to detect issues
This commit is contained in:
Sam Lantinga 2013-12-06 09:13:31 -08:00
parent 4c35a7b408
commit db521ea67c
4 changed files with 23 additions and 7 deletions

View file

@ -743,6 +743,7 @@ SDL_GameControllerAddMapping( const char *mappingString )
pchGUID = SDL_PrivateGetControllerGUIDFromMappingString( mappingString );
if (!pchGUID) {
SDL_SetError("Couldn't parse GUID from %s", mappingString);
return -1;
}
#ifdef SDL_JOYSTICK_DINPUT
@ -753,17 +754,21 @@ SDL_GameControllerAddMapping( const char *mappingString )
jGUID = SDL_JoystickGetGUIDFromString(pchGUID);
SDL_free(pchGUID);
pControllerMapping = SDL_PrivateGetControllerMappingForGUID(&jGUID);
pchName = SDL_PrivateGetControllerNameFromMappingString( mappingString );
if (!pchName) return -1;
if (!pchName) {
SDL_SetError("Couldn't parse name from %s", mappingString);
return -1;
}
pchMapping = SDL_PrivateGetControllerMappingFromMappingString( mappingString );
if (!pchMapping) {
SDL_SetError("Couldn't parse %s", mappingString);
SDL_free( pchName );
return -1;
}
pControllerMapping = SDL_PrivateGetControllerMappingForGUID(&jGUID);
if (pControllerMapping) {
/* Update existing mapping */
SDL_free( pControllerMapping->name );