diff options
| author | Le Juez Victor <[email protected]> | 2023-06-20 11:01:57 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-06-20 11:01:57 +0200 |
| commit | 5e1a81555ca130e2c6544add0e2391a8763e7e2a (patch) | |
| tree | dbac4f7257d964770ae774b4f489b379ff40e2b6 /src | |
| parent | 3a90acf08ee97ba42bc21decfc52b41c7ef4d68d (diff) | |
| download | raylib-5e1a81555ca130e2c6544add0e2391a8763e7e2a.tar.gz raylib-5e1a81555ca130e2c6544add0e2391a8763e7e2a.zip | |
Review `android_main()` in rcore.c (#3121)
Diffstat (limited to 'src')
| -rw-r--r-- | src/rcore.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/rcore.c b/src/rcore.c index 27b60ae4..d02ea2b9 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -717,17 +717,17 @@ void android_main(struct android_app *app) char arg0[] = "raylib"; // NOTE: argv[] are mutable CORE.Android.app = app; - // NOTE: Return codes != 0 are skipped - (void)main(1, (char *[]) { arg0, NULL }); + // NOTE: We get the main return for exit() + int ret = main(1, (char *[]) { arg0, NULL }); - // Finish native activity - ANativeActivity_finish(CORE.Android.app->activity); + // Request to end the native activity + ANativeActivity_finish(app->activity); // Android ALooper_pollAll() variables int pollResult = 0; int pollEvents = 0; - // Wait for app events to close + // Waiting for application events before complete finishing while (!CORE.Android.app->destroyRequested) { while ((pollResult = ALooper_pollAll(0, NULL, &pollEvents, (void **)&CORE.Android.source)) >= 0) @@ -736,8 +736,11 @@ void android_main(struct android_app *app) } } - // WARNING: Check for deallocation and ensure no other processes are running from the application - exit(0); // Closes the application completely without going through Java + // WARNING: Make sure you free resources properly and no other process is running from Java code or other. + // NOTE: You can use JNI to call a NativeLoader method (which will call finish() from the UI thread) + // to handle the full close from Java, without using exit(0) like here. + + exit(ret); // Close the application directly, without going through Java } // NOTE: Add this to header (if apps really need it) |
