From e3ced3f32d130a36392fc651913197d5916b931b Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Mon, 21 Mar 2005 13:21:40 +0000 Subject: [PATCH] fix crashes if 0 rows are enabled (e.g. keyboard shortcut minimenu) --- stepmania/src/ScreenOptions.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/stepmania/src/ScreenOptions.cpp b/stepmania/src/ScreenOptions.cpp index 737b94168d..5bea56daf7 100644 --- a/stepmania/src/ScreenOptions.cpp +++ b/stepmania/src/ScreenOptions.cpp @@ -376,7 +376,10 @@ void ScreenOptions::PositionCursors() FOREACH_HumanPlayer( pn ) { const int iRow = m_iCurrentRow[pn]; - ASSERT_M( iRow < (int)m_Rows.size(), ssprintf("%i < %i", iRow, (int)m_Rows.size() ) ); + if( iRow == -1 ) + continue; + + ASSERT_M( iRow >= 0 && iRow < (int)m_Rows.size(), ssprintf("%i < %i", iRow, (int)m_Rows.size() ) ); OptionRow &OptionRow = *m_Rows[iRow]; OptionsCursor &cursor = m_Cursor[pn]; @@ -639,6 +642,9 @@ void ScreenOptions::OnChange( PlayerNumber pn ) return; const int iCurRow = m_iCurrentRow[pn]; + + if( iCurRow == -1 ) + return; /* Update m_fY and m_bHidden[]. */ PositionItems();