diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index afbde4a29a..dc2ec89e63 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -134,7 +134,9 @@ void GameSettingsScreen::CreateViews() { #else static const char *internalResolutions[] = {"Auto (1:1)", "1x PSP", "2x PSP", "3x PSP", "4x PSP", "5x PSP" }; #endif - graphicsSettings->Add(new PopupMultiChoice(&g_Config.iInternalResolution, gs->T("Rendering Resolution"), internalResolutions, 0, ARRAY_SIZE(internalResolutions), gs, screenManager()))->OnClick.Handle(this, &GameSettingsScreen::OnResolutionChange); + resolutionChoice_ = graphicsSettings->Add(new PopupMultiChoice(&g_Config.iInternalResolution, gs->T("Rendering Resolution"), internalResolutions, 0, ARRAY_SIZE(internalResolutions), gs, screenManager())); + resolutionChoice_->OnClick.Handle(this, &GameSettingsScreen::OnResolutionChange); + resolutionChoice_->SetEnabled(g_Config.iRenderingMode != 0); #ifdef _WIN32 graphicsSettings->Add(new CheckBox(&g_Config.bVSync, gs->T("VSync"))); #endif @@ -296,6 +298,7 @@ UI::EventReturn GameSettingsScreen::OnRenderingMode(UI::EventParams &e) { enableReportsCheckbox_->SetEnabled(Reporting::IsSupported()); postProcChoice_->SetEnabled(g_Config.iRenderingMode != 0); + resolutionChoice_->SetEnabled(g_Config.iRenderingMode != 0); return UI::EVENT_DONE; } diff --git a/UI/GameSettingsScreen.h b/UI/GameSettingsScreen.h index 86ab0ae0b8..f1f0e6c2ef 100644 --- a/UI/GameSettingsScreen.h +++ b/UI/GameSettingsScreen.h @@ -48,6 +48,7 @@ private: UI::CheckBox *enableReportsCheckbox_; UI::Choice *layoutEditorChoice_; UI::Choice *postProcChoice_; + UI::PopupMultiChoice *resolutionChoice_; // Event handlers UI::EventReturn OnControlMapping(UI::EventParams &e);