From 173d30879f73aa1a887ea6ae59f5bed9cc347400 Mon Sep 17 00:00:00 2001 From: click Date: Wed, 5 May 2010 14:30:53 +0200 Subject: Fix crash when deleting vendoritems with multiple extendedcosts - thanks to Vladimir Fixes issue #1989 --HG-- branch : trunk --- src/game/Creature.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index 3a124b2a999..34372ac614d 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -63,13 +63,15 @@ TrainerSpell const* TrainerSpellData::Find(uint32 spell_id) const bool VendorItemData::RemoveItem(uint32 item_id) { bool found = false; - for (VendorItemList::iterator i = m_items.begin(); i != m_items.end(); ++i) + for (VendorItemList::iterator i = m_items.begin(); i != m_items.end();) { if ((*i)->item == item_id) { - i = m_items.erase(i); + i = m_items.erase(i++); found = true; } + else + ++i; } return found; } -- cgit v1.2.3