From 423054e8ac8c789db54deb73bae98d3e577b0d48 Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Sat, 10 Oct 2020 16:35:36 +1000 Subject: [PATCH] Android: Fix ANR when boot fails --- android/app/src/cpp/android_host_interface.cpp | 4 +++- .../com/github/stenzek/duckstation/EmulationActivity.java | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/android/app/src/cpp/android_host_interface.cpp b/android/app/src/cpp/android_host_interface.cpp index 37c8a1dc0..1fa11eb14 100644 --- a/android/app/src/cpp/android_host_interface.cpp +++ b/android/app/src/cpp/android_host_interface.cpp @@ -194,7 +194,9 @@ void AndroidHostInterface::PauseEmulationThread(bool paused) void AndroidHostInterface::StopEmulationThread() { - Assert(IsEmulationThreadRunning()); + if (!IsEmulationThreadRunning()) + return; + Log_InfoPrint("Stopping emulation thread..."); { std::unique_lock lock(m_mutex); diff --git a/android/app/src/main/java/com/github/stenzek/duckstation/EmulationActivity.java b/android/app/src/main/java/com/github/stenzek/duckstation/EmulationActivity.java index a107bbedb..bd5b77d02 100644 --- a/android/app/src/main/java/com/github/stenzek/duckstation/EmulationActivity.java +++ b/android/app/src/main/java/com/github/stenzek/duckstation/EmulationActivity.java @@ -100,6 +100,7 @@ public class EmulationActivity extends AppCompatActivity implements SurfaceHolde public void onEmulationStopped() { runOnUiThread(() -> { + AndroidHostInterface.getInstance().stopEmulationThread(); if (!mWasDestroyed) finish(); });