Fixes 2356, [Android] SDL_JoystickGetAttached does not function

Also fix a potential NULL pointer access in android/SDL_SYS_JoystickGetGUID
Gabriel Jacobo 2014-01-21 18:20:12 -03:00
parent beee1c4424
commit b131e74be4
1 changed files with 12 additions and 1 deletions

View File

@ -284,6 +284,10 @@ Android_RemoveJoystick(int device_id)
} }
const int retval = item->device_instance; const int retval = item->device_instance;
if (item->joystick) {
item->joystick->hwdata = NULL;
}
if (prev != NULL) { if (prev != NULL) {
prev->next = item->next; prev->next = item->next;
} else { } else {
@ -507,9 +511,16 @@ SDL_JoystickGUID SDL_SYS_JoystickGetDeviceGUID( int device_index )
SDL_JoystickGUID SDL_SYS_JoystickGetGUID(SDL_Joystick * joystick) SDL_JoystickGUID SDL_SYS_JoystickGetGUID(SDL_Joystick * joystick)
{ {
SDL_JoystickGUID guid;
if (joystick->hwdata != NULL) {
return ((SDL_joylist_item*)joystick->hwdata)->guid; return ((SDL_joylist_item*)joystick->hwdata)->guid;
} }
SDL_zero(guid);
return guid;
}
#endif /* SDL_JOYSTICK_ANDROID */ #endif /* SDL_JOYSTICK_ANDROID */
/* vi: set ts=4 sw=4 expandtab: */ /* vi: set ts=4 sw=4 expandtab: */