From 2c4ad51d44c15c45135cd5b6ff32b2a7e1f24bf7 Mon Sep 17 00:00:00 2001 From: Philipp Wiesemann Date: Mon, 18 May 2015 21:21:14 +0200 Subject: [PATCH] Added missing loop cancel for Emscripten in test programs. --- test/checkkeys.c | 5 +++++ test/testdraw2.c | 5 +++++ test/testdrawchessboard.c | 6 ++++++ test/testgamecontroller.c | 6 ++++++ test/testgesture.c | 6 ++++++ test/testgles2.c | 5 +++++ test/testintersections.c | 5 +++++ test/testjoystick.c | 6 ++++++ test/testoverlay2.c | 6 ++++++ test/testrelative.c | 5 +++++ test/testrendercopyex.c | 5 +++++ test/testrendertarget.c | 5 +++++ test/testscale.c | 5 +++++ test/testsprite2.c | 5 +++++ test/testspriteminimal.c | 5 +++++ test/teststreaming.c | 6 ++++++ test/testviewport.c | 6 ++++++ test/testwm2.c | 5 +++++ 18 files changed, 97 insertions(+) diff --git a/test/checkkeys.c b/test/checkkeys.c index 234b627b6e408..059192836c72c 100644 --- a/test/checkkeys.c +++ b/test/checkkeys.c @@ -162,6 +162,11 @@ loop() break; } } +#ifdef __EMSCRIPTEN__ + if (done) { + emscripten_cancel_main_loop(); + } +#endif } int diff --git a/test/testdraw2.c b/test/testdraw2.c index 7685e3b2ecc53..b0f706a3e7a3b 100644 --- a/test/testdraw2.c +++ b/test/testdraw2.c @@ -198,6 +198,11 @@ loop() SDL_RenderPresent(renderer); } +#ifdef __EMSCRIPTEN__ + if (done) { + emscripten_cancel_main_loop(); + } +#endif } int diff --git a/test/testdrawchessboard.c b/test/testdrawchessboard.c index 35cc6884b1185..ef89c2de7e2ec 100644 --- a/test/testdrawchessboard.c +++ b/test/testdrawchessboard.c @@ -62,11 +62,17 @@ loop() while (SDL_PollEvent(&e)) { if (e.type == SDL_QUIT) { done = 1; +#ifdef __EMSCRIPTEN__ + emscripten_cancel_main_loop(); +#endif return; } if(e.key.keysym.sym == SDLK_ESCAPE) { done = 1; +#ifdef __EMSCRIPTEN__ + emscripten_cancel_main_loop(); +#endif return; } } diff --git a/test/testgamecontroller.c b/test/testgamecontroller.c index 414872cf26ccc..2eb3686b4ecc6 100644 --- a/test/testgamecontroller.c +++ b/test/testgamecontroller.c @@ -153,6 +153,12 @@ loop(void *arg) done = SDL_TRUE; retval = SDL_TRUE; /* keep going, wait for reattach. */ } + +#ifdef __EMSCRIPTEN__ + if (done) { + emscripten_cancel_main_loop(); + } +#endif } SDL_bool diff --git a/test/testgesture.c b/test/testgesture.c index 6189f4504a7a8..8982e15d94c88 100644 --- a/test/testgesture.c +++ b/test/testgesture.c @@ -266,6 +266,12 @@ void loop() } } DrawScreen(screen, window); + +#ifdef __EMSCRIPTEN__ + if (quitting) { + emscripten_cancel_main_loop(); + } +#endif } int main(int argc, char* argv[]) diff --git a/test/testgles2.c b/test/testgles2.c index 55f06cb430900..af02c1f1a25e4 100644 --- a/test/testgles2.c +++ b/test/testgles2.c @@ -466,6 +466,11 @@ void loop() SDL_GL_SwapWindow(state->windows[i]); } } +#ifdef __EMSCRIPTEN__ + else { + emscripten_cancel_main_loop(); + } +#endif } int diff --git a/test/testintersections.c b/test/testintersections.c index 77bb514609bbd..f4705381595f6 100644 --- a/test/testintersections.c +++ b/test/testintersections.c @@ -257,6 +257,11 @@ loop() SDL_RenderPresent(renderer); } +#ifdef __EMSCRIPTEN__ + if (done) { + emscripten_cancel_main_loop(); + } +#endif } int diff --git a/test/testjoystick.c b/test/testjoystick.c index adb376e022af4..b35a5e12000f7 100644 --- a/test/testjoystick.c +++ b/test/testjoystick.c @@ -175,6 +175,12 @@ loop(void *arg) done = SDL_TRUE; retval = SDL_TRUE; /* keep going, wait for reattach. */ } + +#ifdef __EMSCRIPTEN__ + if (done) { + emscripten_cancel_main_loop(); + } +#endif } static SDL_bool diff --git a/test/testoverlay2.c b/test/testoverlay2.c index 69238fa42c981..4a8b51b8b92ba 100644 --- a/test/testoverlay2.c +++ b/test/testoverlay2.c @@ -312,6 +312,12 @@ loop() SDL_RenderClear(renderer); SDL_RenderCopy(renderer, MooseTexture, NULL, &displayrect); SDL_RenderPresent(renderer); + +#ifdef __EMSCRIPTEN__ + if (done) { + emscripten_cancel_main_loop(); + } +#endif } int diff --git a/test/testrelative.c b/test/testrelative.c index 3b6ef810ea006..68ec24cb1bb53 100644 --- a/test/testrelative.c +++ b/test/testrelative.c @@ -67,6 +67,11 @@ loop(){ SDL_RenderPresent(renderer); } +#ifdef __EMSCRIPTEN__ + if (done) { + emscripten_cancel_main_loop(); + } +#endif } int diff --git a/test/testrendercopyex.c b/test/testrendercopyex.c index 379819ce246c9..0cfa9ba20364f 100644 --- a/test/testrendercopyex.c +++ b/test/testrendercopyex.c @@ -152,6 +152,11 @@ void loop() continue; Draw(&drawstates[i]); } +#ifdef __EMSCRIPTEN__ + if (done) { + emscripten_cancel_main_loop(); + } +#endif } int diff --git a/test/testrendertarget.c b/test/testrendertarget.c index c03e6394bd791..0471ec24831e6 100644 --- a/test/testrendertarget.c +++ b/test/testrendertarget.c @@ -241,6 +241,11 @@ loop() if (!Draw(&drawstates[i])) done = 1; } } +#ifdef __EMSCRIPTEN__ + if (done) { + emscripten_cancel_main_loop(); + } +#endif } int diff --git a/test/testscale.c b/test/testscale.c index e52eacb4330f9..124138e41793e 100644 --- a/test/testscale.c +++ b/test/testscale.c @@ -142,6 +142,11 @@ loop() continue; Draw(&drawstates[i]); } +#ifdef __EMSCRIPTEN__ + if (done) { + emscripten_cancel_main_loop(); + } +#endif } int diff --git a/test/testsprite2.c b/test/testsprite2.c index 17a9cd5f4fd94..d02acda714909 100644 --- a/test/testsprite2.c +++ b/test/testsprite2.c @@ -251,6 +251,11 @@ loop() continue; MoveSprites(state->renderers[i], sprites[i]); } +#ifdef __EMSCRIPTEN__ + if (done) { + emscripten_cancel_main_loop(); + } +#endif } int diff --git a/test/testspriteminimal.c b/test/testspriteminimal.c index fc7d31f179a67..82bee9c198053 100644 --- a/test/testspriteminimal.c +++ b/test/testspriteminimal.c @@ -136,6 +136,11 @@ void loop() } } MoveSprites(renderer, sprite); +#ifdef __EMSCRIPTEN__ + if (done) { + emscripten_cancel_main_loop(); + } +#endif } int diff --git a/test/teststreaming.c b/test/teststreaming.c index da618c4cfcba3..9b2888b115ecc 100644 --- a/test/teststreaming.c +++ b/test/teststreaming.c @@ -115,6 +115,12 @@ loop() SDL_RenderClear(renderer); SDL_RenderCopy(renderer, MooseTexture, NULL, NULL); SDL_RenderPresent(renderer); + +#ifdef __EMSCRIPTEN__ + if (done) { + emscripten_cancel_main_loop(); + } +#endif } int diff --git a/test/testviewport.c b/test/testviewport.c index 2ac8031ab21f5..385bbbd1228c7 100644 --- a/test/testviewport.c +++ b/test/testviewport.c @@ -129,6 +129,12 @@ loop() SDL_RenderPresent(state->renderers[i]); } } + +#ifdef __EMSCRIPTEN__ + if (done) { + emscripten_cancel_main_loop(); + } +#endif } int diff --git a/test/testwm2.c b/test/testwm2.c index 8d8ff4613a7ab..02a0ce2df19a4 100644 --- a/test/testwm2.c +++ b/test/testwm2.c @@ -100,6 +100,11 @@ loop() } } } +#ifdef __EMSCRIPTEN__ + if (done) { + emscripten_cancel_main_loop(); + } +#endif } int