aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2015-05-03 11:57:04 +0200
committerjackpoz <giacomopoz@gmail.com>2015-05-03 11:57:04 +0200
commit09aed2565966c96d403afe44a0cce423c59cb4ec (patch)
tree8c72e9f9b682403aef5a2c9cb80affbe70fcee9b
parentbb86eed0ce4e1cc17aa6392fac7ff69255006acb (diff)
Scripts/VioletHold: Fix crash
Fix crash in Violet Hold happening when crystals were activated without killing trash mobs. Crash added in cba6515acb5820af5df6b77855464c29062b8c44 and f4531c5a582cae24d4d136035074d8da7e5bdad7 . Closes #14629
-rw-r--r--src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
index ea50969ecb8..ef9ad806c89 100644
--- a/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
+++ b/src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp
@@ -794,9 +794,11 @@ public:
trigger->CastSpell(trigger, spellInfoLightning, true, 0, 0, trigger->GetGUID());
// Kill all mobs registered with SetGuidData(ADD_TRASH_MOB)
- for (GuidSet::const_iterator itr = trashMobs.begin(); itr != trashMobs.end(); ++itr)
+ for (GuidSet::const_iterator itr = trashMobs.begin(); itr != trashMobs.end();)
{
Creature* creature = instance->GetCreature(*itr);
+ // Increment the iterator before killing the creature because the kill will remove itr from trashMobs
+ ++itr;
if (creature && creature->IsAlive())
trigger->Kill(creature);
}