diff options
Diffstat (limited to 'mp/src/game/server/sceneentity.cpp')
| -rw-r--r-- | mp/src/game/server/sceneentity.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/mp/src/game/server/sceneentity.cpp b/mp/src/game/server/sceneentity.cpp index ccdc4cd4..f092624f 100644 --- a/mp/src/game/server/sceneentity.cpp +++ b/mp/src/game/server/sceneentity.cpp @@ -4951,8 +4951,9 @@ void CSceneManager::RemoveScenesInvolvingActor( CBaseFlex *pActor ) if ( !pActor ) return; + // This loop can remove items from m_ActiveScenes array, so loop through backwards. int c = m_ActiveScenes.Count(); - for ( int i = 0; i < c; i++ ) + for ( int i = c - 1 ; i >= 0; --i ) { CSceneEntity *pScene = m_ActiveScenes[ i ].Get(); if ( !pScene ) |