From 7853427a2487e356bf003d2e53947112e4d8edc3 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Thu, 22 Jul 2004 02:47:21 +0000 Subject: [PATCH] fix TYPE_PORTAL crash when no songs --- stepmania/src/MusicWheel.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/stepmania/src/MusicWheel.cpp b/stepmania/src/MusicWheel.cpp index 846db12b01..e2d77a7cf1 100644 --- a/stepmania/src/MusicWheel.cpp +++ b/stepmania/src/MusicWheel.cpp @@ -578,8 +578,17 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelItemDatas arrayWheelItemDatas.push_back( WheelItemData(TYPE_ROULETTE, NULL, "", NULL, RageColor(1,0,0,1), SORT_INVALID) ); if( SHOW_RANDOM ) arrayWheelItemDatas.push_back( WheelItemData(TYPE_RANDOM, NULL, "", NULL, RageColor(1,0,0,1), SORT_INVALID) ); + if( SHOW_PORTAL ) - arrayWheelItemDatas.push_back( WheelItemData(TYPE_PORTAL, NULL, "", NULL, RageColor(1,0,0,1), SORT_INVALID) ); + { + /* Only add TYPE_PORTAL if there's at least one song on the list. */ + bool bFoundAnySong = false; + for( unsigned i=0; !bFoundAnySong && i < arrayWheelItemDatas.size(); i++ ) + if( arrayWheelItemDatas[i].m_Type == TYPE_SONG ) + bFoundAnySong = true; + if( bFoundAnySong ) + arrayWheelItemDatas.push_back( WheelItemData(TYPE_PORTAL, NULL, "", NULL, RageColor(1,0,0,1), SORT_INVALID) ); + } } // HACK: Add extra stage item if it isn't already present on the music wheel