diff --git a/src/duckstation-qt/generalsettingswidget.cpp b/src/duckstation-qt/generalsettingswidget.cpp index 9a8dc6d06..0cba77a36 100644 --- a/src/duckstation-qt/generalsettingswidget.cpp +++ b/src/duckstation-qt/generalsettingswidget.cpp @@ -90,7 +90,7 @@ GeneralSettingsWidget::GeneralSettingsWidget(SettingsDialog* dialog, QWidget* pa m_ui.enableDiscordPresence->setEnabled(false); } #endif - if (AutoUpdaterDialog::isSupported()) + if (!m_dialog->isPerGameSettings() && AutoUpdaterDialog::isSupported()) { SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_ui.autoUpdateEnabled, "AutoUpdater", "CheckAtStartup", true); dialog->registerWidgetHelp(m_ui.autoUpdateEnabled, tr("Enable Automatic Update Check"), tr("Checked"), diff --git a/src/duckstation-qt/mainwindow.cpp b/src/duckstation-qt/mainwindow.cpp index f54015baa..ddb79ee7d 100644 --- a/src/duckstation-qt/mainwindow.cpp +++ b/src/duckstation-qt/mainwindow.cpp @@ -535,6 +535,12 @@ void MainWindow::onSystemResumed() void MainWindow::onSystemDestroyed() { + // update UI + { + QSignalBlocker sb(m_ui.actionPause); + m_ui.actionPause->setChecked(true); + } + s_system_valid = false; s_system_paused = false; updateEmulationActions(false, false, Achievements::ChallengeModeActive()); diff --git a/src/duckstation-qt/settingwidgetbinder.h b/src/duckstation-qt/settingwidgetbinder.h index 5babc2481..42c8c5c1c 100644 --- a/src/duckstation-qt/settingwidgetbinder.h +++ b/src/duckstation-qt/settingwidgetbinder.h @@ -181,7 +181,7 @@ struct SettingAccessor } static void setNullableStringValue(QComboBox* widget, std::optional value) { - isNullValue(widget) ? widget->setCurrentIndex(0) : setStringValue(widget, value.value()); + value.has_value() ? setStringValue(widget, value.value()) : widget->setCurrentIndex(0); } template