diff options
author | Shauren <shauren.trinity@gmail.com> | 2019-07-27 10:52:33 +0200 |
---|---|---|
committer | Giacomo Pozzoni <giacomopoz@gmail.com> | 2020-03-31 13:42:01 +0000 |
commit | 635b8d52d58f7d502fc249c11c1044923e80935f (patch) | |
tree | 3305f07a454da2d7385e1cd60fd20a3dde5e2cec /src/server/game/Mails/Mail.cpp | |
parent | fe1003bdbd88e2bccf2ac91ffd18804a6d9b6fb3 (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.cpp | 12 |
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); } } |