diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/AuctionHouse/AuctionHouseMgr.cpp | 6 | ||||
-rw-r--r-- | src/server/game/AuctionHouse/AuctionHouseMgr.h | 2 | ||||
-rw-r--r-- | src/server/game/Handlers/AuctionHouseHandler.cpp | 6 |
3 files changed, 9 insertions, 5 deletions
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp index 206e4e4bb04..161c4a578ce 100644 --- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp +++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp @@ -411,7 +411,7 @@ void AuctionHouseObject::AddAuction(AuctionEntry* auction) sScriptMgr->OnAuctionAdd(this, auction); } -bool AuctionHouseObject::RemoveAuction(AuctionEntry* auction) +bool AuctionHouseObject::RemoveAuction(AuctionEntry* auction, uint32 /*itemEntry*/) { bool wasInMap = AuctionsMap.erase(auction->Id) ? true : false; @@ -467,12 +467,14 @@ void AuctionHouseObject::Update() sScriptMgr->OnAuctionSuccessful(this, auction); } + uint32 itemEntry = auction->itemEntry; + ///- In any case clear the auction auction->DeleteFromDB(trans); CharacterDatabase.CommitTransaction(trans); sAuctionMgr->RemoveAItem(auction->itemGUIDLow); - RemoveAuction(auction); + RemoveAuction(auction, itemEntry); } while (result->NextRow()); } diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.h b/src/server/game/AuctionHouse/AuctionHouseMgr.h index 0aa97210271..e13b4665b7b 100644 --- a/src/server/game/AuctionHouse/AuctionHouseMgr.h +++ b/src/server/game/AuctionHouse/AuctionHouseMgr.h @@ -118,7 +118,7 @@ class AuctionHouseObject void AddAuction(AuctionEntry* auction); - bool RemoveAuction(AuctionEntry* auction); + bool RemoveAuction(AuctionEntry* auction, uint32 itemEntry); void Update(); diff --git a/src/server/game/Handlers/AuctionHouseHandler.cpp b/src/server/game/Handlers/AuctionHouseHandler.cpp index 26e19a3ad87..3c38ff8460e 100644 --- a/src/server/game/Handlers/AuctionHouseHandler.cpp +++ b/src/server/game/Handlers/AuctionHouseHandler.cpp @@ -473,8 +473,9 @@ void WorldSession::HandleAuctionPlaceBid(WorldPacket& recvData) auction->DeleteFromDB(trans); + uint32 itemEntry = auction->itemEntry; sAuctionMgr->RemoveAItem(auction->itemGUIDLow); - auctionHouse->RemoveAuction(auction); + auctionHouse->RemoveAuction(auction, itemEntry); } player->SaveInventoryAndGoldToDB(trans); CharacterDatabase.CommitTransaction(trans); @@ -552,8 +553,9 @@ void WorldSession::HandleAuctionRemoveItem(WorldPacket& recvData) auction->DeleteFromDB(trans); CharacterDatabase.CommitTransaction(trans); + uint32 itemEntry = auction->itemEntry; sAuctionMgr->RemoveAItem(auction->itemGUIDLow); - auctionHouse->RemoveAuction(auction); + auctionHouse->RemoveAuction(auction, itemEntry); } //called when player lists his bids |