summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2023-01-06 18:50:01 -0500
committerLiam <byteslice@airmail.cc>2023-01-06 18:50:01 -0500
commit9ed4c1375885191971794315cffae5f6a8dd9e34 (patch)
tree85a6b111202dbcfb181f6d9eb8783888011f8750
parent7ef897a277583c97c6cf7377a3c381271ecb6403 (diff)
qt: additional fixes for reentrant shutdown
-rw-r--r--src/yuzu/main.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index c55f81c2f..2ea3b7d59 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -1839,9 +1839,11 @@ void GMainWindow::OnEmulationStopTimeExpired() {
void GMainWindow::OnEmulationStopped() {
shutdown_timer.stop();
- emu_thread->disconnect();
- emu_thread->wait();
- emu_thread = nullptr;
+ if (emu_thread) {
+ emu_thread->disconnect();
+ emu_thread->wait();
+ emu_thread.reset();
+ }
if (shutdown_dialog) {
shutdown_dialog->deleteLater();
@@ -3029,6 +3031,8 @@ void GMainWindow::OnStopGame() {
if (OnShutdownBegin()) {
OnShutdownBeginDialog();
+ } else {
+ OnEmulationStopped();
}
}