diff options
author | jackpoz <giacomopoz@gmail.com> | 2015-05-03 11:57:04 +0200 |
---|---|---|
committer | DDuarte <dnpd.dd@gmail.com> | 2015-06-26 02:51:08 +0100 |
commit | 133d6cd85ffb64f433c6e52de8357d73ff8459c8 (patch) | |
tree | 22aec63d666af5f8b2e75fff49e44429793b2b02 | |
parent | 0f6788c3df17616261e3234507bd3a787a358ee9 (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.cpp | 4 |
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); } |