File tree Expand file tree Collapse file tree 2 files changed +22
-6
lines changed
GeneralsMD/Code/GameEngine/Source/GameLogic/ScriptEngine
Generals/Code/GameEngine/Source/GameLogic/ScriptEngine Expand file tree Collapse file tree 2 files changed +22
-6
lines changed Original file line number Diff line number Diff line change @@ -4639,10 +4639,18 @@ void ScriptEngine::reset( void )
4639
4639
4640
4640
_updateCurrentParticleCap ();
4641
4641
4642
- VecSequentialScriptPtrIt seqScriptIt;
4643
- for (seqScriptIt = m_sequentialScripts.begin (); seqScriptIt != m_sequentialScripts.end (); ) {
4644
- cleanupSequentialScript (seqScriptIt, TRUE );
4642
+ // delete and clear all sequential scripts.
4643
+ VecSequentialScriptPtrIt seqScriptIt = m_sequentialScripts.begin ();
4644
+ while (seqScriptIt != m_sequentialScripts.end ()) {
4645
+ SequentialScript* seqScript = *seqScriptIt;
4646
+ while (seqScript != NULL ) {
4647
+ SequentialScript* scriptToDelete = seqScript;
4648
+ seqScript = seqScript->m_nextScriptInSequence ;
4649
+ deleteInstance (scriptToDelete);
4650
+ }
4651
+ ++seqScriptIt;
4645
4652
}
4653
+ m_sequentialScripts.clear ();
4646
4654
4647
4655
// clear out all the lists of object types that were in the old map.
4648
4656
for (AllObjectTypesIt it = m_allObjectTypeLists.begin (); it != m_allObjectTypeLists.end (); it = m_allObjectTypeLists.begin () ) {
Original file line number Diff line number Diff line change @@ -5374,10 +5374,18 @@ void ScriptEngine::reset( void )
5374
5374
5375
5375
_updateCurrentParticleCap ();
5376
5376
5377
- VecSequentialScriptPtrIt seqScriptIt;
5378
- for (seqScriptIt = m_sequentialScripts.begin (); seqScriptIt != m_sequentialScripts.end (); ) {
5379
- cleanupSequentialScript (seqScriptIt, TRUE );
5377
+ // delete and clear all sequential scripts.
5378
+ VecSequentialScriptPtrIt seqScriptIt = m_sequentialScripts.begin ();
5379
+ while (seqScriptIt != m_sequentialScripts.end ()) {
5380
+ SequentialScript* seqScript = *seqScriptIt;
5381
+ while (seqScript != NULL ) {
5382
+ SequentialScript* scriptToDelete = seqScript;
5383
+ seqScript = seqScript->m_nextScriptInSequence ;
5384
+ deleteInstance (scriptToDelete);
5385
+ }
5386
+ ++seqScriptIt;
5380
5387
}
5388
+ m_sequentialScripts.clear ();
5381
5389
5382
5390
// clear out all the lists of object types that were in the old map.
5383
5391
for (AllObjectTypesIt it = m_allObjectTypeLists.begin (); it != m_allObjectTypeLists.end (); it = m_allObjectTypeLists.begin () ) {
You can’t perform that action at this time.
0 commit comments