From e45eeecdcd9da64678350979721f50b4a3c13d87 Mon Sep 17 00:00:00 2001 From: maximius Date: Sat, 31 Oct 2009 00:50:27 -0700 Subject: [PATCH] *Don't increment an iterator after it's erased, by RammboNr5. Also remove an unused iterator. --HG-- branch : trunk --- src/game/Player.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/game/Player.cpp b/src/game/Player.cpp index a9254c15fe..18085fe8f5 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -21964,7 +21964,7 @@ void Player::_SaveTalents() { for (uint8 i = 0; i < MAX_TALENT_SPECS; ++i) { - for (PlayerTalentMap::iterator itr = m_talents[i]->begin(), next = m_talents[i]->begin(); itr != m_talents[i]->end(); ) + for (PlayerTalentMap::iterator itr = m_talents[i]->begin(); itr != m_talents[i]->end(); ) { if (itr->second->state == PLAYERSPELL_REMOVED || itr->second->state == PLAYERSPELL_CHANGED) CharacterDatabase.PExecute("DELETE FROM character_talent WHERE guid = '%u' and spell = '%u' and spec = '%u'", GetGUIDLow(), itr->first, itr->second->spec); @@ -21975,7 +21975,7 @@ void Player::_SaveTalents() if (itr->second->state == PLAYERSPELL_REMOVED) { delete itr->second; - m_talents[i]->erase(itr++); + m_talents[i]->erase(itr); } else {