Selaa lähdekoodia

Merge branch 'master' of https://github.com/raysan5/raylib

Ray 2 vuotta sitten
vanhempi
commit
77d025ebda
2 muutettua tiedostoa jossa 11 lisäystä ja 8 poistoa
  1. 1 1
      BINDINGS.md
  2. 10 7
      src/rcore.c

+ 1 - 1
BINDINGS.md

@@ -13,7 +13,7 @@ Some people ported raylib to other languages in form of bindings or wrappers to
 | cl-raylib          | 4.0     | [Common Lisp](https://common-lisp.net/)   | MIT | https://github.com/longlene/cl-raylib     |
 | claylib/wrap       | **4.5**     | [Common Lisp](https://common-lisp.net/)   | Zlib | https://github.com/defun-games/claylib |
 | chez-raylib        | **auto** | [Chez Scheme](https://cisco.github.io/ChezScheme/) | GPLv3 | https://github.com/Yunoinsky/chez-raylib |
-| raylib-cr          | **4.5-dev (7e7939e)** | [Crystal](https://crystal-lang.org/)    | Apache-2.0 | https://github.com/sol-vin/raylib-cr |
+| raylib-cr          | **4.6-dev (5e1a81)** | [Crystal](https://crystal-lang.org/)    | Apache-2.0 | https://github.com/sol-vin/raylib-cr |
 | ray-cyber          | 4.5     | [Cyber](https://cyberscript.dev)  | MIT | https://github.com/fubark/ray-cyber |
 | raylib-c3          | **4.5** | [C3](https://c3-lang.org/)    | MIT | https://github.com/Its-Kenta/Raylib-C3 |
 | dart-raylib        | 4.0     | [Dart](https://dart.dev/)               | MIT | https://gitlab.com/wolfenrain/dart-raylib   |

+ 10 - 7
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)