From 5584354444216910b5ae3d570e9c62bfaad12f67 Mon Sep 17 00:00:00 2001 From: Subv2112 Date: Sun, 8 Jan 2012 18:37:16 +0000 Subject: Core/Players: Fix crash in LoadFromDB Closes #4724 Closes #4673 --- src/server/game/Entities/Player/Player.cpp | 1 + src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'src/server') diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 6854a68ac1d..e9a1ac0e64f 100755 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -16657,6 +16657,7 @@ bool Player::LoadFromDB(uint32 guid, SQLQueryHolder *holder) _LoadInstanceTimeRestrictions(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOADINSTANCELOCKTIMES)); _LoadBGData(holder->GetPreparedResult(PLAYER_LOGIN_QUERY_LOADBGDATA)); + GetSession()->SetPlayer(this); MapEntry const* mapEntry = sMapStore.LookupEntry(mapId); if (!mapEntry || !IsPositionValid()) { diff --git a/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp b/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp index fd649175f76..35276bb1d0a 100644 --- a/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp +++ b/src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp @@ -776,6 +776,7 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) // "GetAccountId() == db stored account id" checked in LoadFromDB (prevent login not own character using cheating tools) if (!pCurrChar->LoadFromDB(GUID_LOPART(playerGuid), holder)) { + SetPlayer(NULL); KickPlayer(); // disconnect client, player no set to session and it will not deleted or saved at kick delete pCurrChar; // delete it manually delete holder; // delete all unprocessed queries @@ -784,9 +785,6 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) } pCurrChar->GetMotionMaster()->Initialize(); - - SetPlayer(pCurrChar); - pCurrChar->SendDungeonDifficulty(false); WorldPacket data(SMSG_LOGIN_VERIFY_WORLD, 20); -- cgit v1.2.3