diff --git a/src/duckstation-qt/qthost.cpp b/src/duckstation-qt/qthost.cpp index 63bb57093..c880d5486 100644 --- a/src/duckstation-qt/qthost.cpp +++ b/src/duckstation-qt/qthost.cpp @@ -2576,8 +2576,15 @@ void Host::RequestSystemShutdown(bool allow_confirm, bool save_state) if (!System::IsValid()) return; - QMetaObject::invokeMethod(g_main_window, "requestShutdown", Qt::QueuedConnection, Q_ARG(bool, allow_confirm), - Q_ARG(bool, true), Q_ARG(bool, save_state)); + if (!allow_confirm) + { + g_emu_thread->shutdownSystem(save_state, false); + } + else + { + QMetaObject::invokeMethod(g_main_window, "requestShutdown", Qt::QueuedConnection, Q_ARG(bool, allow_confirm), + Q_ARG(bool, true), Q_ARG(bool, save_state)); + } } void Host::RequestResetSettings(bool system, bool controller)