From db22a0a9fbcfefcd393ba94e92cb65caf4cf526d Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Fri, 2 Apr 2010 06:32:32 +0400 Subject: [PATCH] [9655] Fixed bug with possible double remove spell. In case when saved in DB spell remove triggering by dependendences chain self remove attempt. --- src/game/Player.cpp | 4 ++-- src/shared/revision_nr.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/game/Player.cpp b/src/game/Player.cpp index a2727f84d..06e135f45 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -3269,7 +3269,7 @@ void Player::removeSpell(uint32 spell_id, bool disabled, bool learn_low_rank, bo // re-search, it can be corrupted in prev loop itr = m_spells.find(spell_id); - if (itr == m_spells.end()) + if (itr == m_spells.end() || itr->second.state == PLAYERSPELL_REMOVED) return; // already unleared bool cur_active = itr->second.active; @@ -5649,7 +5649,7 @@ void Player::SendInitialActionButtons() const sLog.outDetail( "Initializing Action Buttons for '%u' spec '%u'", GetGUIDLow(), m_activeSpec); WorldPacket data(SMSG_ACTION_BUTTONS, 1+(MAX_ACTION_BUTTONS*4)); - data << uint8(1); // talent spec amount + data << uint8(1); // talent spec amount (in packet) ActionButtonList const& currentActionButtonList = m_actionButtons[m_activeSpec]; for(uint8 button = 0; button < MAX_ACTION_BUTTONS; ++button) { diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 15d4fddcd..faf5de9f2 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 "9654" + #define REVISION_NR "9655" #endif // __REVISION_NR_H__