From 01a417593eeecf97f0e725569aece03c3c935e90 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Sun, 18 Jan 2004 20:15:02 +0000 Subject: [PATCH] fix release input event triggering "go to options" --- stepmania/src/OptionIconRow.cpp | 13 +++++++++---- stepmania/src/OptionIconRow.h | 3 ++- stepmania/src/ScreenSelectMusic.cpp | 12 +++++++++--- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/stepmania/src/OptionIconRow.cpp b/stepmania/src/OptionIconRow.cpp index e311e09ac4..c941c17761 100644 --- a/stepmania/src/OptionIconRow.cpp +++ b/stepmania/src/OptionIconRow.cpp @@ -91,14 +91,19 @@ int OptionToPreferredColumn( CString sOptionText ) return 0; } -void OptionIconRow::Refresh( PlayerNumber pn ) +void OptionIconRow::Load( PlayerNumber pn ) +{ + m_PlayerNumber = pn; +} + +void OptionIconRow::Refresh() { // init unsigned i; for( i=0; im_PlayerOptions[pn].GetString(); + CString sOptions = GAMESTATE->m_PlayerOptions[m_PlayerNumber].GetString(); CStringArray asOptions; split( sOptions, ", ", asOptions, true ); @@ -128,7 +133,7 @@ void OptionIconRow::Refresh( PlayerNumber pn ) } for( i=0; iAddChild( &m_AutoGenIcon[p] ); m_OptionIconRow[p].SetName( ssprintf("OptionIconsP%d",p+1) ); - m_OptionIconRow[p].Refresh( (PlayerNumber)p ); + m_OptionIconRow[p].Load( (PlayerNumber)p ); + m_OptionIconRow[p].Refresh(); SET_XY( m_OptionIconRow[p] ); this->AddChild( &m_OptionIconRow[p] ); @@ -652,7 +653,12 @@ void ScreenSelectMusic::Input( const DeviceInput& DeviceI, InputEventType type, if( !GameI.IsValid() ) return; // don't care - if( m_bMadeChoice && MenuI.IsValid() && MenuI.button == MENU_BUTTON_START && !GAMESTATE->IsExtraStage() && !GAMESTATE->IsExtraStage2() ) + if( m_bMadeChoice && + MenuI.IsValid() && + MenuI.button == MENU_BUTTON_START && + type != IET_RELEASE && + !GAMESTATE->IsExtraStage() && + !GAMESTATE->IsExtraStage2() ) { if(m_bGoToOptions) return; /* got it already */ if(!m_bAllowOptionsMenu) return; /* not allowed */ @@ -1414,7 +1420,7 @@ void ScreenSelectMusic::UpdateOptionsDisplays() for( int p=0; pIsHumanPlayer(p) ) {