Added logic to prevent crashing on an invalid initial screen. Added HARDCODED error screen in _fallback for displaying and explaining the error when a theme has an invalid initial screen.

This commit is contained in:
Kyzentun Keeslala
2015-06-06 20:43:39 -06:00
parent e6dc4307b5
commit 1dca128f79
6 changed files with 35 additions and 2 deletions
+10 -2
View File
@@ -354,9 +354,17 @@ void StepMania::ResetGame()
ThemeMetric<RString> INITIAL_SCREEN ("Common","InitialScreen");
RString StepMania::GetInitialScreen()
{
if( PREFSMAN->m_sTestInitialScreen.Get() != "" )
if(PREFSMAN->m_sTestInitialScreen.Get() != "" &&
SCREENMAN->IsScreenNameValid(PREFSMAN->m_sTestInitialScreen))
{
return PREFSMAN->m_sTestInitialScreen;
return INITIAL_SCREEN.GetValue();
}
RString screen_name= INITIAL_SCREEN.GetValue();
if(!SCREENMAN->IsScreenNameValid(screen_name))
{
screen_name= "ScreenInitialScreenIsInvalid";
}
return screen_name;
}
ThemeMetric<RString> SELECT_MUSIC_SCREEN ("Common","SelectMusicScreen");
RString StepMania::GetSelectMusicScreen()