aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Mails/Mail.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2019-07-27 10:52:33 +0200
committerGiacomo Pozzoni <giacomopoz@gmail.com>2020-03-31 13:42:01 +0000
commit635b8d52d58f7d502fc249c11c1044923e80935f (patch)
tree3305f07a454da2d7385e1cd60fd20a3dde5e2cec /src/server/game/Mails/Mail.cpp
parentfe1003bdbd88e2bccf2ac91ffd18804a6d9b6fb3 (diff)
Core/DBLayer: Prevent committing transactions started on a different database
(cherry picked from commit f6e2b8cdc1c8a3dd291947f67566b41dac116622) # Conflicts: # src/server/bnetserver/REST/LoginRESTService.cpp # src/server/database/Database/DatabaseWorkerPool.cpp # src/server/database/Database/DatabaseWorkerPool.h # src/server/database/Database/Implementation/HotfixDatabase.h # src/server/database/Database/MySQLConnection.h # src/server/database/Database/Transaction.cpp # src/server/database/Database/Transaction.h # src/server/game/Achievements/AchievementMgr.cpp # src/server/game/Achievements/AchievementMgr.h # src/server/game/AuctionHouse/AuctionHouseMgr.cpp # src/server/game/AuctionHouse/AuctionHouseMgr.h # src/server/game/BattlePets/BattlePetMgr.cpp # src/server/game/BattlePets/BattlePetMgr.h # src/server/game/BlackMarket/BlackMarketMgr.cpp # src/server/game/BlackMarket/BlackMarketMgr.h # src/server/game/Entities/Creature/Creature.cpp # src/server/game/Entities/Item/Item.cpp # src/server/game/Entities/Item/Item.h # src/server/game/Entities/Player/CollectionMgr.cpp # src/server/game/Entities/Player/CollectionMgr.h # src/server/game/Entities/Player/Player.cpp # src/server/game/Entities/Player/Player.h # src/server/game/Garrison/Garrison.cpp # src/server/game/Garrison/Garrison.h # src/server/game/Groups/Group.cpp # src/server/game/Guilds/Guild.cpp # src/server/game/Guilds/Guild.h # src/server/game/Guilds/GuildFinderMgr.cpp # src/server/game/Handlers/BlackMarketHandler.cpp # src/server/game/Handlers/CalendarHandler.cpp # src/server/game/Handlers/CharacterHandler.cpp # src/server/game/Handlers/MailHandler.cpp # src/server/game/Handlers/PetHandler.cpp # src/server/game/Handlers/PetitionsHandler.cpp # src/server/game/Mails/Mail.cpp # src/server/game/Pools/PoolMgr.cpp # src/server/game/Quests/QuestObjectiveCriteriaMgr.cpp # src/server/game/Quests/QuestObjectiveCriteriaMgr.h # src/server/game/Scenarios/InstanceScenario.cpp # src/server/game/Server/WorldSession.cpp # src/server/game/Server/WorldSession.h # src/server/game/Spells/SpellHistory.cpp # src/server/game/Support/SupportMgr.cpp # src/server/game/Tools/PlayerDump.cpp # src/server/scripts/Commands/cs_misc.cpp
Diffstat (limited to 'src/server/game/Mails/Mail.cpp')
-rw-r--r--src/server/game/Mails/Mail.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/server/game/Mails/Mail.cpp b/src/server/game/Mails/Mail.cpp
index 4bd3cf0fb97..c42bd2a8e63 100644
--- a/src/server/game/Mails/Mail.cpp
+++ b/src/server/game/Mails/Mail.cpp
@@ -92,7 +92,7 @@ MailDraft& MailDraft::AddItem(Item* item)
m_items[item->GetGUID().GetCounter()] = item; return *this;
}
-void MailDraft::prepareItems(Player* receiver, SQLTransaction& trans)
+void MailDraft::prepareItems(Player* receiver, CharacterDatabaseTransaction& trans)
{
if (!m_mailTemplateId || !m_mailTemplateItemsNeed)
return;
@@ -122,7 +122,7 @@ void MailDraft::prepareItems(Player* receiver, SQLTransaction& trans)
}
}
-void MailDraft::deleteIncludedItems(SQLTransaction& trans, bool inDB /*= false*/ )
+void MailDraft::deleteIncludedItems(CharacterDatabaseTransaction& trans, bool inDB /*= false*/ )
{
for (MailItemMap::iterator mailItemIter = m_items.begin(); mailItemIter != m_items.end(); ++mailItemIter)
{
@@ -141,7 +141,7 @@ void MailDraft::deleteIncludedItems(SQLTransaction& trans, bool inDB /*= false*/
m_items.clear();
}
-void MailDraft::SendReturnToSender(uint32 sender_acc, ObjectGuid::LowType sender_guid, ObjectGuid::LowType receiver_guid, SQLTransaction& trans)
+void MailDraft::SendReturnToSender(uint32 sender_acc, ObjectGuid::LowType sender_guid, ObjectGuid::LowType receiver_guid, CharacterDatabaseTransaction& trans)
{
ObjectGuid receiverGuid(HighGuid::Player, receiver_guid);
Player* receiver = ObjectAccessor::FindConnectedPlayer(receiverGuid);
@@ -184,7 +184,7 @@ void MailDraft::SendReturnToSender(uint32 sender_acc, ObjectGuid::LowType sender
SendMailTo(trans, MailReceiver(receiver, receiver_guid), MailSender(MAIL_NORMAL, sender_guid), MAIL_CHECK_MASK_RETURNED, deliver_delay);
}
-void MailDraft::SendMailTo(SQLTransaction& trans, MailReceiver const& receiver, MailSender const& sender, MailCheckMask checked, uint32 deliver_delay)
+void MailDraft::SendMailTo(CharacterDatabaseTransaction& trans, MailReceiver const& receiver, MailSender const& sender, MailCheckMask checked, uint32 deliver_delay)
{
Player* pReceiver = receiver.GetPlayer(); // can be NULL
Player* pSender = ObjectAccessor::FindPlayerByLowGUID(sender.GetSenderId());
@@ -285,13 +285,13 @@ void MailDraft::SendMailTo(SQLTransaction& trans, MailReceiver const& receiver,
}
else if (!m_items.empty())
{
- SQLTransaction temp = SQLTransaction(nullptr);
+ CharacterDatabaseTransaction temp = CharacterDatabaseTransaction(nullptr);
deleteIncludedItems(temp);
}
}
else if (!m_items.empty())
{
- SQLTransaction temp = SQLTransaction(nullptr);
+ CharacterDatabaseTransaction temp = CharacterDatabaseTransaction(nullptr);
deleteIncludedItems(temp);
}
}