diff --git a/src/citra_qt/configuration/configuration_shared.h b/src/citra_qt/configuration/configuration_shared.h index 61f303013..b611611cc 100644 --- a/src/citra_qt/configuration/configuration_shared.h +++ b/src/citra_qt/configuration/configuration_shared.h @@ -83,7 +83,7 @@ void SetPerGameSetting(QComboBox* combobox, /// account per-game status template Type GetComboboxSetting(int index, const Settings::SwitchableSetting* setting) { - if (Settings::IsConfiguringGlobal() && setting->UsingGlobal()) { + if (Settings::IsConfiguringGlobal() || setting->UsingGlobal()) { return static_cast(index); } else if (!Settings::IsConfiguringGlobal()) { if (index == 0) { diff --git a/src/citra_qt/main.cpp b/src/citra_qt/main.cpp index ea019d825..12cf28c24 100644 --- a/src/citra_qt/main.cpp +++ b/src/citra_qt/main.cpp @@ -371,13 +371,7 @@ void GMainWindow::InitializeWidgets() { graphics_api_button->setFocusPolicy(Qt::NoFocus); UpdateAPIIndicator(); - connect(graphics_api_button, &QPushButton::clicked, this, [this] { - if (emulation_running) { - return; - } - - UpdateAPIIndicator(true); - }); + connect(graphics_api_button, &QPushButton::clicked, this, [this] { UpdateAPIIndicator(true); }); statusBar()->insertPermanentWidget(0, graphics_api_button); @@ -1734,6 +1728,7 @@ void GMainWindow::OnStartGame() { PreventOSSleep(); emu_thread->SetRunning(true); + graphics_api_button->setEnabled(false); qRegisterMetaType("Core::System::ResultStatus"); qRegisterMetaType("std::string"); connect(emu_thread.get(), &EmuThread::ErrorThrown, this, &GMainWindow::OnCoreError); @@ -1743,6 +1738,7 @@ void GMainWindow::OnStartGame() { discord_rpc->Update(); UpdateSaveStates(); + UpdateAPIIndicator(); } void GMainWindow::OnRestartGame() { @@ -1773,7 +1769,9 @@ void GMainWindow::OnPauseContinueGame() { void GMainWindow::OnStopGame() { ShutdownGame(); + graphics_api_button->setEnabled(true); Settings::RestoreGlobalState(false); + UpdateAPIIndicator(); } void GMainWindow::OnLoadComplete() {