diff --git a/src/game/Player.cpp b/src/game/Player.cpp index d8773cd74..8126abc6b 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -3080,6 +3080,11 @@ void Player::removeSpell(uint32 spell_id, bool disabled, bool update_action_bar_ if(HasSpell(itr2->second) && !GetTalentSpellPos(itr2->second)) removeSpell(itr2->second,disabled); + // re-search, it can be corrupted in prev loop + itr = m_spells.find(spell_id); + if (itr == m_spells.end()) + return; // already unleared + bool cur_active = itr->second->active; bool cur_dependent = itr->second->dependent; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index cf0426932..10b2fc2fe 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "7996" + #define REVISION_NR "7997" #endif // __REVISION_NR_H__