diff options
author | Machiavelli <machiaveltman@gmail.com> | 2012-01-18 03:53:11 -0800 |
---|---|---|
committer | Machiavelli <machiaveltman@gmail.com> | 2012-01-18 03:53:11 -0800 |
commit | 1f42324c4430cc42a7929a2c5748410d7647d380 (patch) | |
tree | f902fcc4a450694f7b7c1792ff8f5da297113cc3 /src | |
parent | afc0d72761e8ceb7e733d1f2fe16a52eb4f01f1b (diff) | |
parent | cc88681dc5da60218e36ca00873cdf3033bcc5b5 (diff) |
Merge pull request #4871 from TrinityCoreRu/master
Core/Items: Really fix a trading spoof exploit.
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Entities/Player/Player.cpp | 6 | ||||
-rwxr-xr-x | src/server/game/Entities/Player/Player.h | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index ed65e1ce527..855fb9332b2 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -319,11 +319,11 @@ Item* TradeData::GetSpellCastItem() const return m_spellCastItem ? m_player->GetItemByGuid(m_spellCastItem) : NULL; } -void TradeData::SetItem(TradeSlots slot, Item* item) +void TradeData::SetItem(TradeSlots slot, Item* item, bool update) { uint64 itemGuid = item ? item->GetGUID() : 0; - if (m_items[slot] == itemGuid) + if (m_items[slot] == itemGuid && !update) return; m_items[slot] = itemGuid; @@ -12893,7 +12893,7 @@ void Player::SplitItem(uint16 src, uint16 dst, uint32 count) //! in the underlying packet builder function TradeSlots const slot = GetTradeData()->GetTradeSlotForItem(pSrcItem->GetGUID()); if (slot != TRADE_SLOT_INVALID) - GetTradeData()->SetItem(slot, pSrcItem); + GetTradeData()->SetItem(slot, pSrcItem, true); } void Player::SwapItem(uint16 src, uint16 dst) diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index fccd380bd29..ae889e342c3 100755 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -1004,7 +1004,7 @@ class TradeData Item* GetItem(TradeSlots slot) const; bool HasItem(uint64 itemGuid) const; TradeSlots const GetTradeSlotForItem(uint64 itemGuid); - void SetItem(TradeSlots slot, Item* item); + void SetItem(TradeSlots slot, Item* item, bool update = false); uint32 GetSpell() const { return m_spell; } void SetSpell(uint32 spell_id, Item* castItem = NULL); |