Ver Fonte

Improve testgles2 exit behavior (useful on Android)

Gabriel Jacobo há 11 anos atrás
pai
commit
01550b96cc
1 ficheiros alterados com 13 adições e 11 exclusões
  1. 13 11
      test/testgles2.c

+ 13 - 11
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]);
+          }
         }
     }