aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjackpoz <giacomopoz@gmail.com>2015-05-03 11:57:04 +0200
committerDDuarte <dnpd.dd@gmail.com>2015-06-26 02:51:08 +0100
commit133d6cd85ffb64f433c6e52de8357d73ff8459c8 (patch)
tree22aec63d666af5f8b2e75fff49e44429793b2b02
parent0f6788c3df17616261e3234507bd3a787a358ee9 (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 (cherry picked from commit 09aed2565966c96d403afe44a0cce423c59cb4ec)
-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);
}