From 7ef993564d65bc327c24fae1dc9b2b0f5efb7c4c Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sat, 1 Jan 2005 20:32:55 +0000 Subject: [PATCH] fix crash when selecting random with no songs loaded (don't show random at all) --- stepmania/src/MusicWheel.cpp | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/stepmania/src/MusicWheel.cpp b/stepmania/src/MusicWheel.cpp index 4c9995442f..ead932b066 100644 --- a/stepmania/src/MusicWheel.cpp +++ b/stepmania/src/MusicWheel.cpp @@ -559,19 +559,17 @@ void MusicWheel::BuildWheelItemDatas( vector &arrayWheelItemDatas { if( SHOW_ROULETTE ) arrayWheelItemDatas.push_back( WheelItemData(TYPE_ROULETTE, NULL, "", NULL, RageColor(1,0,0,1)) ); - if( SHOW_RANDOM ) + /* 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( SHOW_RANDOM && bFoundAnySong ) arrayWheelItemDatas.push_back( WheelItemData(TYPE_RANDOM, NULL, "", NULL, RageColor(1,0,0,1)) ); - if( SHOW_PORTAL ) - { - /* 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)) ); - } + if( SHOW_PORTAL && bFoundAnySong ) + arrayWheelItemDatas.push_back( WheelItemData(TYPE_PORTAL, NULL, "", NULL, RageColor(1,0,0,1)) ); } if( GAMESTATE->IsExtraStage() || GAMESTATE->IsExtraStage2() )