aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Globals/ObjectMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/game/Globals/ObjectMgr.cpp')
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index b37d3fadb49..61c7b168a40 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -18,6 +18,7 @@
#include "ObjectMgr.h"
#include "ArenaTeamMgr.h"
+#include "AzeriteItem.h"
#include "Chat.h"
#include "Containers.h"
#include "DatabaseEnv.h"
@@ -5867,12 +5868,12 @@ void ObjectMgr::ReturnOrDeleteOldMails(bool serverUp)
// if it is mail from non-player, or if it's already return mail, it shouldn't be returned, but deleted
if (m->messageType != MAIL_NORMAL || (m->checked & (MAIL_CHECK_MASK_COD_PAYMENT | MAIL_CHECK_MASK_RETURNED)))
{
+ CharacterDatabaseTransaction nonTransactional(nullptr);
// mail open and then not returned
for (MailItemInfoVec::iterator itr2 = m->items.begin(); itr2 != m->items.end(); ++itr2)
{
- stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_ITEM_INSTANCE);
- stmt->setUInt64(0, itr2->item_guid);
- CharacterDatabase.Execute(stmt);
+ Item::DeleteFromDB(nonTransactional, itr2->item_guid);
+ AzeriteItem::DeleteFromDB(nonTransactional, itr2->item_guid);
}
stmt = CharacterDatabase.GetPreparedStatement(CHAR_DEL_MAIL_ITEM_BY_ID);