From 2426abc7d1e375a7b6262950decc62c22e4e5424 Mon Sep 17 00:00:00 2001 From: Steve Checkoway Date: Fri, 16 Jun 2006 20:23:02 +0000 Subject: [PATCH] v.begin()-1 is not a valid iterator. Increment the iterator before calling GetNext*Player*() and do not increment inside the function. --- stepmania/src/ScreenGameplay.cpp | 13 ++++--------- stepmania/src/ScreenGameplay.h | 10 +++++----- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/stepmania/src/ScreenGameplay.cpp b/stepmania/src/ScreenGameplay.cpp index 4ded36113a..f5c3adcea7 100644 --- a/stepmania/src/ScreenGameplay.cpp +++ b/stepmania/src/ScreenGameplay.cpp @@ -273,8 +273,7 @@ bool PlayerInfo::IsEnabled() vector::iterator GetNextEnabledPlayerInfo( vector::iterator iter, vector &v ) { - iter++; - for( ; iter != v.end(); iter++ ) + for( ; iter != v.end(); ++iter ) { if( !iter->IsEnabled() ) continue; @@ -286,7 +285,6 @@ GetNextEnabledPlayerInfo( vector::iterator iter, vector vector::iterator GetNextEnabledPlayerInfoNotDummy( vector::iterator iter, vector &v ) { - iter++; for( ; iter != v.end(); iter++ ) { if( iter->m_bIsDummy ) @@ -301,8 +299,7 @@ GetNextEnabledPlayerInfoNotDummy( vector::iterator iter, vector::iterator GetNextEnabledPlayerNumberInfo( vector::iterator iter, vector &v ) { - iter++; - for( ; iter != v.end(); iter++ ) + for( ; iter != v.end(); ++iter ) { if( iter->m_bIsDummy ) continue; @@ -318,8 +315,7 @@ GetNextEnabledPlayerNumberInfo( vector::iterator iter, vector::iterator GetNextPlayerNumberInfo( vector::iterator iter, vector &v ) { - iter++; - for( ; iter != v.end(); iter++ ) + for( ; iter != v.end(); ++iter ) { if( iter->m_bIsDummy ) continue; @@ -333,8 +329,7 @@ GetNextPlayerNumberInfo( vector::iterator iter, vector & vector::iterator GetNextVisiblePlayerInfo( vector::iterator iter, vector &v ) { - iter++; - for( ; iter != v.end(); iter++ ) + for( ; iter != v.end(); ++iter ) { if( !iter->m_pPlayer->HasNoteField() ) continue; diff --git a/stepmania/src/ScreenGameplay.h b/stepmania/src/ScreenGameplay.h index 1247993e23..5af1b239e5 100644 --- a/stepmania/src/ScreenGameplay.h +++ b/stepmania/src/ScreenGameplay.h @@ -229,11 +229,11 @@ vector::iterator GetNextEnabledPlayerNumberInfo ( vector vector::iterator GetNextPlayerNumberInfo ( vector::iterator iter, vector &v ); vector::iterator GetNextVisiblePlayerInfo ( vector::iterator iter, vector &v ); -#define FOREACH_EnabledPlayerInfo( v, pi ) for( vector::iterator pi = GetNextEnabledPlayerInfo (v.begin()-1,v); pi != v.end(); pi = GetNextEnabledPlayerInfo(pi,v) ) -#define FOREACH_EnabledPlayerInfoNotDummy( v, pi ) for( vector::iterator pi = GetNextEnabledPlayerInfoNotDummy (v.begin()-1,v); pi != v.end(); pi = GetNextEnabledPlayerInfoNotDummy(pi,v) ) -#define FOREACH_EnabledPlayerNumberInfo( v, pi ) for( vector::iterator pi = GetNextEnabledPlayerNumberInfo (v.begin()-1,v); pi != v.end(); pi = GetNextEnabledPlayerNumberInfo(pi,v) ) -#define FOREACH_PlayerNumberInfo( v, pi ) for( vector::iterator pi = GetNextPlayerNumberInfo (v.begin()-1,v); pi != v.end(); pi = GetNextPlayerNumberInfo(pi,v) ) -#define FOREACH_VisiblePlayerInfo( v, pi ) for( vector::iterator pi = GetNextVisiblePlayerInfo (v.begin()-1,v); pi != v.end(); pi = GetNextVisiblePlayerInfo(pi,v) ) +#define FOREACH_EnabledPlayerInfo( v, pi ) for( vector::iterator pi = GetNextEnabledPlayerInfo (v.begin(),v); pi != v.end(); pi = GetNextEnabledPlayerInfo(++pi,v) ) +#define FOREACH_EnabledPlayerInfoNotDummy( v, pi ) for( vector::iterator pi = GetNextEnabledPlayerInfoNotDummy (v.begin(),v); pi != v.end(); pi = GetNextEnabledPlayerInfoNotDummy(++pi,v) ) +#define FOREACH_EnabledPlayerNumberInfo( v, pi ) for( vector::iterator pi = GetNextEnabledPlayerNumberInfo (v.begin(),v); pi != v.end(); pi = GetNextEnabledPlayerNumberInfo(++pi,v) ) +#define FOREACH_PlayerNumberInfo( v, pi ) for( vector::iterator pi = GetNextPlayerNumberInfo (v.begin(),v); pi != v.end(); pi = GetNextPlayerNumberInfo(++pi,v) ) +#define FOREACH_VisiblePlayerInfo( v, pi ) for( vector::iterator pi = GetNextVisiblePlayerInfo (v.begin(),v); pi != v.end(); pi = GetNextVisiblePlayerInfo(++pi,v) ) #endif