fix(Core): Memleaks fixes - Part II. (#5760)

This commit is contained in:
UltraNix
2021-05-14 10:15:45 +02:00
committed by GitHub
parent 1b6c2004ce
commit 8dd58ebb5b
19 changed files with 138 additions and 127 deletions

View File

@@ -142,7 +142,7 @@ void AuctionHouseMgr::SendAuctionWonMail(AuctionEntry* auction, SQLTransaction&
.SendMailTo(trans, MailReceiver(bidder, auction->bidder.GetCounter()), auction, MAIL_CHECK_MASK_COPIED);
}
else
sAuctionMgr->RemoveAItem(auction->item_guid, true);
sAuctionMgr->RemoveAItem(auction->item_guid, true, &trans);
}
void AuctionHouseMgr::SendAuctionSalePendingMail(AuctionEntry* auction, SQLTransaction& trans, bool sendMail)
@@ -229,7 +229,7 @@ void AuctionHouseMgr::SendAuctionExpiredMail(AuctionEntry* auction, SQLTransacti
.SendMailTo(trans, MailReceiver(owner, auction->owner.GetCounter()), auction, MAIL_CHECK_MASK_COPIED, 0);
}
else
sAuctionMgr->RemoveAItem(auction->item_guid, true);
sAuctionMgr->RemoveAItem(auction->item_guid, true, &trans);
}
//this function sends mail to old bidder
@@ -377,7 +377,7 @@ void AuctionHouseMgr::AddAItem(Item* it)
mAitems[it->GetGUID()] = it;
}
bool AuctionHouseMgr::RemoveAItem(ObjectGuid itemGuid, bool deleteFromDB)
bool AuctionHouseMgr::RemoveAItem(ObjectGuid itemGuid, bool deleteFromDB, SQLTransaction* trans /*= nullptr*/)
{
ItemMap::iterator i = mAitems.find(itemGuid);
if (i == mAitems.end())
@@ -385,10 +385,9 @@ bool AuctionHouseMgr::RemoveAItem(ObjectGuid itemGuid, bool deleteFromDB)
if (deleteFromDB)
{
SQLTransaction trans = CharacterDatabase.BeginTransaction();
ASSERT(trans);
i->second->FSetState(ITEM_REMOVED);
i->second->SaveToDB(trans);
CharacterDatabase.CommitTransaction(trans);
i->second->SaveToDB(*trans);
}
mAitems.erase(i);

View File

@@ -173,7 +173,7 @@ public:
void LoadAuctions();
void AddAItem(Item* it);
bool RemoveAItem(ObjectGuid itemGuid, bool deleteFromDB = false);
bool RemoveAItem(ObjectGuid itemGuid, bool deleteFromDB = false, SQLTransaction* trans = nullptr);
void Update();