Commit d1932834e25d73504ac19a1289f2b668eb05ee7d

Philipp Wiesemann 2015-02-12T21:40:53

Fixed test programs for joystick not exiting on events after first disconnect. Exit was broken since the main loop extraction needed for Emscripten support because the former local but now global variables were not reset correctly.

diff --git a/test/testgamecontroller.c b/test/testgamecontroller.c
index 29e0308..414872c 100644
--- a/test/testgamecontroller.c
+++ b/test/testgamecontroller.c
@@ -163,6 +163,10 @@ WatchGameController(SDL_GameController * gamecontroller)
     const size_t titlelen = SDL_strlen(basetitle) + SDL_strlen(name) + 1;
     char *title = (char *)SDL_malloc(titlelen);
     SDL_Window *window = NULL;
+
+    retval = SDL_FALSE;
+    done = SDL_FALSE;
+
     if (title) {
         SDL_snprintf(title, titlelen, "%s%s", basetitle, name);
     }
@@ -219,6 +223,10 @@ WatchGameController(SDL_GameController * gamecontroller)
 #endif
 
     SDL_DestroyRenderer(screen);
+    screen = NULL;
+    background = NULL;
+    button = NULL;
+    axis = NULL;
     SDL_DestroyWindow(window);
     return retval;
 }
diff --git a/test/testjoystick.c b/test/testjoystick.c
index 3b2b5bf..72f056c 100644
--- a/test/testjoystick.c
+++ b/test/testjoystick.c
@@ -176,6 +176,8 @@ WatchJoystick(SDL_Joystick * joystick)
 {
     SDL_Window *window = NULL;
     const char *name = NULL;
+
+    retval = SDL_FALSE;
     done = SDL_FALSE;
 
     /* Create a window to display joystick axis position */
@@ -217,6 +219,7 @@ WatchJoystick(SDL_Joystick * joystick)
 #endif
 
     SDL_DestroyRenderer(screen);
+    screen = NULL;
     SDL_DestroyWindow(window);
     return retval;
 }