aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.cpp10
-rw-r--r--src/server/game/AuctionHouse/AuctionHouseMgr.h2
2 files changed, 6 insertions, 6 deletions
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
index 421c701089c..a7a06b3c32f 100644
--- a/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
+++ b/src/server/game/AuctionHouse/AuctionHouseMgr.cpp
@@ -653,7 +653,7 @@ void AuctionHouseMgr::AddAItem(Item* item)
_itemsByGuid[item->GetGUID()] = item;
}
-bool AuctionHouseMgr::RemoveAItem(ObjectGuid id, bool deleteItem)
+bool AuctionHouseMgr::RemoveAItem(ObjectGuid id, bool deleteItem /*= false*/, CharacterDatabaseTransaction* trans /*= nullptr*/)
{
auto i = _itemsByGuid.find(id);
if (i == _itemsByGuid.end())
@@ -661,9 +661,9 @@ bool AuctionHouseMgr::RemoveAItem(ObjectGuid id, bool deleteItem)
if (deleteItem)
{
- CharacterDatabaseTransaction trans = CharacterDatabaseTransaction(nullptr);
+ ASSERT(trans);
i->second->FSetState(ITEM_REMOVED);
- i->second->SaveToDB(trans);
+ i->second->SaveToDB(*trans);
}
_itemsByGuid.erase(i);
@@ -1850,7 +1850,7 @@ void AuctionHouseObject::SendAuctionWon(AuctionPosting const* auction, Player* b
{
// bidder doesn't exist, delete the item
for (Item* item : auction->Items)
- sAuctionMgr->RemoveAItem(item->GetGUID(), true);
+ sAuctionMgr->RemoveAItem(item->GetGUID(), true, &trans);
}
}
@@ -1902,7 +1902,7 @@ void AuctionHouseObject::SendAuctionExpired(AuctionPosting const* auction, Chara
{
// owner doesn't exist, delete the item
for (Item* item : auction->Items)
- sAuctionMgr->RemoveAItem(item->GetGUID(), true);
+ sAuctionMgr->RemoveAItem(item->GetGUID(), true, &trans);
}
}
diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.h b/src/server/game/AuctionHouse/AuctionHouseMgr.h
index 86e311a67af..4513e86089d 100644
--- a/src/server/game/AuctionHouse/AuctionHouseMgr.h
+++ b/src/server/game/AuctionHouse/AuctionHouseMgr.h
@@ -373,7 +373,7 @@ class TC_GAME_API AuctionHouseMgr
void LoadAuctions();
void AddAItem(Item* item);
- bool RemoveAItem(ObjectGuid itemGuid, bool deleteItem = false);
+ bool RemoveAItem(ObjectGuid itemGuid, bool deleteItem = false, CharacterDatabaseTransaction* trans = nullptr);
bool PendingAuctionAdd(Player* player, uint32 auctionHouseId, uint32 auctionId, uint64 deposit);
std::size_t PendingAuctionCount(Player const* player) const;
void PendingAuctionProcess(Player* player);