diff --git a/stepmania/src/ScreenAppearanceOptions.cpp b/stepmania/src/ScreenAppearanceOptions.cpp index 2d33849ca9..98825ec59c 100644 --- a/stepmania/src/ScreenAppearanceOptions.cpp +++ b/stepmania/src/ScreenAppearanceOptions.cpp @@ -156,7 +156,11 @@ void ScreenAppearanceOptions::ExportOptions() int iSelectedTheme = m_iSelectedOption[0][AO_THEME]; CString sNewTheme = m_OptionRow[AO_THEME].choices[iSelectedTheme]; - THEME->SwitchTheme( sNewTheme ); + if( THEME->GetCurThemeName() != sNewTheme ) + { + THEME->SwitchTheme( sNewTheme ); + ApplyGraphicOptions(); // reset graphics to apply new window title and icon + } TEXTUREMAN->DoDelayedDelete(); // delete all textures that don't have references int iSelectedSkin = m_iSelectedOption[0][AO_SKIN]; diff --git a/stepmania/src/ScreenTitleMenu.cpp b/stepmania/src/ScreenTitleMenu.cpp index 503a65e44d..f04cde0d8c 100644 --- a/stepmania/src/ScreenTitleMenu.cpp +++ b/stepmania/src/ScreenTitleMenu.cpp @@ -240,6 +240,7 @@ void ScreenTitleMenu::Input( const DeviceInput& DeviceI, const InputEventType ty if( CodeDetector::EnteredCode(GameI.controller,CodeDetector::CODE_NEXT_THEME) ) { THEME->NextTheme(); + ApplyGraphicOptions(); // update window title and icon SCREENMAN->SystemMessage( "Theme: "+THEME->GetCurThemeName() ); SCREENMAN->SetNewScreen( "ScreenTitleMenu" ); TEXTUREMAN->DoDelayedDelete(); diff --git a/stepmania/src/StepMania.cpp b/stepmania/src/StepMania.cpp index 0a61e0929a..aadb0085c5 100644 --- a/stepmania/src/StepMania.cpp +++ b/stepmania/src/StepMania.cpp @@ -264,6 +264,7 @@ int main(int argc, char* argv[]) delete loading_window; // destroy this before init'ing Display PREFSMAN->ReadGlobalPrefsFromDisk( true ); + PREFSMAN->ReadGamePrefsFromDisk(); DISPLAY = new RageDisplay( PREFSMAN->m_bWindowed,