aboutsummaryrefslogtreecommitdiff
path: root/mp/src/game/server/sceneentity.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'mp/src/game/server/sceneentity.cpp')
-rw-r--r--mp/src/game/server/sceneentity.cpp3
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 )