From 97b5906124dca7826beb4ae976c1e0b97e076b5a Mon Sep 17 00:00:00 2001 From: Axel Cocat Date: Wed, 28 Dec 2022 23:22:28 +0100 Subject: [PATCH] feat(Core/Player): delete character cache in Player::DeleteFromDB() (#14388) --- src/server/game/Entities/Player/Player.cpp | 8 ++++++++ src/server/game/Handlers/CharacterHandler.cpp | 1 - 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 3522577ab..005a5bcd6 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -4240,8 +4240,16 @@ void Player::DeleteFromDB(ObjectGuid::LowType lowGuid, uint32 accountId, bool up return; } + if (CharacterCacheEntry const* cache = sCharacterCache->GetCharacterCacheByGuid(playerGuid)) + { + std::string name = cache->Name; + sCharacterCache->DeleteCharacterCacheEntry(playerGuid, name); + } + if (updateRealmChars) + { sWorld->UpdateRealmCharCount(accountId); + } } /** diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 0f3cd2b29..06ab7a3e4 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -658,7 +658,6 @@ void WorldSession::HandleCharDeleteOpcode(WorldPacket& recvData) sCalendarMgr->RemoveAllPlayerEventsAndInvites(guid); Player::DeleteFromDB(guid.GetCounter(), GetAccountId(), true, false); - sCharacterCache->DeleteCharacterCacheEntry(guid, name); SendCharDelete(CHAR_DELETE_SUCCESS); }