From edf76805d099c5409aa4ce06c0b4f62431246828 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Wed, 1 Oct 2003 10:04:23 +0000 Subject: [PATCH] Fix crash, add asserts, cleanup. --- stepmania/src/ScreenOptionsMaster.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/stepmania/src/ScreenOptionsMaster.cpp b/stepmania/src/ScreenOptionsMaster.cpp index 56d67a8e63..84bff4fc33 100644 --- a/stepmania/src/ScreenOptionsMaster.cpp +++ b/stepmania/src/ScreenOptionsMaster.cpp @@ -162,6 +162,7 @@ void ScreenOptionsMaster::SetConf( OptionRow &row, OptionRowHandler &hand, CStri /* Add a list of available characters to the given row/handler. */ void ScreenOptionsMaster::SetCharacter( OptionRow &row, OptionRowHandler &hand ) { + hand.type = ROW_CHARACTER; row.bOneChoiceForAllPlayers = false; row.choices.push_back( "OFF" ); vector apCharacters; @@ -370,6 +371,7 @@ void ScreenOptionsMaster::ImportOptions() { int col = ImportOption( row, hand, 0 ); m_iSelectedOption[0][i] = col; + ASSERT( m_iSelectedOption[0][i] < (int)row.choices.size() ); } else for( int pn=0; pnGet( row.choices ); /* If it didn't change, don't return any side-effects. */ - LOG->Trace("origin %i, %i %s", Original, New, hand.opt->name.c_str()); if( Original == New ) return 0; - LOG->Trace("foo %i", hand.opt->GetEffects()); return hand.opt->GetEffects(); } @@ -422,6 +423,7 @@ int ScreenOptionsMaster::ExportOption( const OptionRow &row, const OptionRowHand { vector apCharacters; GAMESTATE->GetCharacters( apCharacters ); + ASSERT( sel - 1 < (int)apCharacters.size() ); GAMESTATE->m_pCurCharacters[pn] = apCharacters[sel - 1]; } break;