Add the controller mappings to the linked list in order

This commit is contained in:
Sam Lantinga 2016-11-29 22:02:37 -08:00
parent dd5d85a4e7
commit d834c08ac7
1 changed files with 15 additions and 2 deletions

View File

@ -692,9 +692,22 @@ SDL_PrivateAddMappingForGUID(SDL_JoystickGUID jGUID, const char *mappingString,
pControllerMapping->guid = jGUID;
pControllerMapping->name = pchName;
pControllerMapping->mapping = pchMapping;
pControllerMapping->next = s_pSupportedControllers;
pControllerMapping->next = NULL;
pControllerMapping->priority = priority;
if (s_pSupportedControllers) {
/* Add the mapping to the end of the list */
ControllerMapping_t *pCurrMapping, *pPrevMapping;
for ( pPrevMapping = s_pSupportedControllers, pCurrMapping = pPrevMapping->next;
pCurrMapping;
pPrevMapping = pCurrMapping, pCurrMapping = pCurrMapping->next ) {
continue;
}
pPrevMapping->next = pControllerMapping;
} else {
s_pSupportedControllers = pControllerMapping;
}
*existing = SDL_FALSE;
}
return pControllerMapping;