Commit 01550b96cc71ab170b17cb7f1b4c7216711c6083

Gabriel Jacobo 2014-02-20T16:12:11

Improve testgles2 exit behavior (useful on Android)

diff --git a/test/testgles2.c b/test/testgles2.c
index 6e99827..ef9f38d 100644
--- a/test/testgles2.c
+++ b/test/testgles2.c
@@ -629,7 +629,7 @@ main(int argc, char *argv[])
     while (!done) {
         /* Check for events */
         ++frames;
-        while (SDL_PollEvent(&event)) {
+        while (SDL_PollEvent(&event) && !done) {
             switch (event.type) {
             case SDL_WINDOWEVENT:
                 switch (event.window.event) {
@@ -654,16 +654,18 @@ main(int argc, char *argv[])
             }
             SDLTest_CommonEvent(state, &event, &done);
         }
-        for (i = 0; i < state->num_windows; ++i) {
-            status = SDL_GL_MakeCurrent(state->windows[i], context[i]);
-            if (status) {
-                SDL_Log("SDL_GL_MakeCurrent(): %s\n", SDL_GetError());
-
-                /* Continue for next window */
-                continue;
-            }
-            Render(state->window_w, state->window_h, &datas[i]);
-            SDL_GL_SwapWindow(state->windows[i]);
+        if (!done) {
+          for (i = 0; i < state->num_windows; ++i) {
+              status = SDL_GL_MakeCurrent(state->windows[i], context[i]);
+              if (status) {
+                  SDL_Log("SDL_GL_MakeCurrent(): %s\n", SDL_GetError());
+
+                  /* Continue for next window */
+                  continue;
+              }
+              Render(state->window_w, state->window_h, &datas[i]);
+              SDL_GL_SwapWindow(state->windows[i]);
+          }
         }
     }