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(); });