From 133d6cd85ffb64f433c6e52de8357d73ff8459c8 Mon Sep 17 00:00:00 2001 From: jackpoz Date: Sun, 3 May 2015 11:57:04 +0200 Subject: 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) --- src/server/scripts/Northrend/VioletHold/instance_violet_hold.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') 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); } -- cgit v1.2.3