Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Clean up any opened joysticks during SDL_JoystickQuit().

Otherwise, these leak memory and maybe operating system handles.
  • Loading branch information
icculus committed Sep 1, 2011
1 parent 67390a5 commit 46c82d0aeb63c9e711ab8eb8f38f98782713c857
Showing with 13 additions and 0 deletions.
  1. +13 −0 src/joystick/SDL_joystick.c
@@ -403,9 +403,22 @@ SDL_JoystickClose(SDL_Joystick * joystick)
void
SDL_JoystickQuit(void)
{
const int numsticks = SDL_numjoysticks;
int i;

/* Stop the event polling */
SDL_numjoysticks = 0;

SDL_assert( (SDL_joysticks == NULL) == (numsticks == 0) );

for (i = 0; i < numsticks; i++) {
SDL_Joystick *stick = SDL_joysticks[i];
if (stick && (stick->ref_count >= 1)) {
stick->ref_count = 1;
SDL_JoystickClose(stick);
}
}

/* Quit the joystick setup */
SDL_SYS_JoystickQuit();
if (SDL_joysticks) {

0 comments on commit 46c82d0

Please sign in to comment.