From 8a2504fbe0f94a69131b72d82e4e1336d1e901d2 Mon Sep 17 00:00:00 2001 From: obigu <1794492+obigu@users.noreply.github.com> Date: Fri, 19 Apr 2024 22:58:32 +0200 Subject: [PATCH] Exceptions occurring on Runnable tasks no longer swallowed (#7384) * Exceptions occurring on Runnable tasks no longer swallowed on Android and iOS * Generate MobiVM MetalANGLE backend --------- Co-authored-by: GitHub Action --- CHANGES | 1 + .../com/badlogic/gdx/backends/android/AndroidGraphics.java | 6 +----- .../com/badlogic/gdx/backends/iosrobovm/IOSApplication.java | 6 +----- .../com/badlogic/gdx/backends/iosrobovm/IOSApplication.java | 6 +----- 4 files changed, 4 insertions(+), 15 deletions(-) diff --git a/CHANGES b/CHANGES index 90b11ff59cf..8a6e8bc7fdb 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,7 @@ [1.12.2-SNAPSHOT] - [BREAKING CHANGE] GWT: Updated to 2.10.0. `com.google.jsinterop:jsinterop-annotations:2.0.2:sources` must be added as a dependency to your html project dependencies. - [BREAKING CHANGE] Android: Minimum API level is now level 19 (Android 4.4) +- [BREAKING CHANGE] Android, iOS: Exceptions occurring in Runnable tasks scheduled through Gdx.app.postRunnable() are no longer swallowed and will crash the app (add a protection if required). - iOS: The iOS backend now implements AudioDevice. It can be configured through IOSApplicationConfiguration with audioDeviceBufferSize/audioDeviceBufferCount - Fixed GlyphLayout for fixed width glyph offsets at the start and end of lines. - Fixed scene2d.ui layout for fractional positions and sizes. diff --git a/backends/gdx-backend-android/src/com/badlogic/gdx/backends/android/AndroidGraphics.java b/backends/gdx-backend-android/src/com/badlogic/gdx/backends/android/AndroidGraphics.java index 9ba40d3c3aa..a2177eb2462 100644 --- a/backends/gdx-backend-android/src/com/badlogic/gdx/backends/android/AndroidGraphics.java +++ b/backends/gdx-backend-android/src/com/badlogic/gdx/backends/android/AndroidGraphics.java @@ -494,11 +494,7 @@ public void onDrawFrame (javax.microedition.khronos.opengles.GL10 gl) { } for (int i = 0; i < app.getExecutedRunnables().size; i++) { - try { - app.getExecutedRunnables().get(i).run(); - } catch (Throwable t) { - t.printStackTrace(); - } + app.getExecutedRunnables().get(i).run(); } app.getInput().processEvents(); frameId++; diff --git a/backends/gdx-backend-robovm-metalangle/src/com/badlogic/gdx/backends/iosrobovm/IOSApplication.java b/backends/gdx-backend-robovm-metalangle/src/com/badlogic/gdx/backends/iosrobovm/IOSApplication.java index ca806176ea8..2149c1d5ef9 100644 --- a/backends/gdx-backend-robovm-metalangle/src/com/badlogic/gdx/backends/iosrobovm/IOSApplication.java +++ b/backends/gdx-backend-robovm-metalangle/src/com/badlogic/gdx/backends/iosrobovm/IOSApplication.java @@ -394,11 +394,7 @@ public void processRunnables () { runnables.clear(); } for (int i = 0; i < executedRunnables.size; i++) { - try { - executedRunnables.get(i).run(); - } catch (Throwable t) { - t.printStackTrace(); - } + executedRunnables.get(i).run(); } } diff --git a/backends/gdx-backend-robovm/src/com/badlogic/gdx/backends/iosrobovm/IOSApplication.java b/backends/gdx-backend-robovm/src/com/badlogic/gdx/backends/iosrobovm/IOSApplication.java index 386793ec6a1..4427fcccb39 100644 --- a/backends/gdx-backend-robovm/src/com/badlogic/gdx/backends/iosrobovm/IOSApplication.java +++ b/backends/gdx-backend-robovm/src/com/badlogic/gdx/backends/iosrobovm/IOSApplication.java @@ -413,11 +413,7 @@ public void processRunnables () { runnables.clear(); } for (int i = 0; i < executedRunnables.size; i++) { - try { - executedRunnables.get(i).run(); - } catch (Throwable t) { - t.printStackTrace(); - } + executedRunnables.get(i).run(); } }