aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Handlers/MiscHandler.cpp
diff options
context:
space:
mode:
authorkaelima <kaelima@live.se>2012-05-27 19:57:31 +0200
committerkaelima <kaelima@live.se>2012-05-27 19:57:49 +0200
commitf1e6601032ba4077e1d1c6070c4cb20812289f7a (patch)
treeba19e77073272603dea3ef72e26e33ebba95c5b1 /src/server/game/Handlers/MiscHandler.cpp
parent2724a4ece8ec2e9f3593c96cefbb2e03fff722aa (diff)
Core/Protocol:
- Allow CMSG_LOGOUT_CANCEL to be recieved during serverside logout process (ignore it however, it's too late to abort) - Fix STATUS_LOGGEDIN_OR_RECENTLY_LOGGOUT opcodes because of m_playerRecentlyLogout being set false too early in some cases
Diffstat (limited to 'src/server/game/Handlers/MiscHandler.cpp')
-rwxr-xr-xsrc/server/game/Handlers/MiscHandler.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/game/Handlers/MiscHandler.cpp b/src/server/game/Handlers/MiscHandler.cpp
index a280bc30b7c..8484ac52d27 100755
--- a/src/server/game/Handlers/MiscHandler.cpp
+++ b/src/server/game/Handlers/MiscHandler.cpp
@@ -430,6 +430,10 @@ void WorldSession::HandleLogoutCancelOpcode(WorldPacket & /*recv_data*/)
{
sLog->outDebug(LOG_FILTER_NETWORKIO, "WORLD: Recvd CMSG_LOGOUT_CANCEL Message");
+ // Player have already logged out serverside, too late to cancel
+ if (!GetPlayer())
+ return;
+
LogoutRequest(0);
WorldPacket data(SMSG_LOGOUT_CANCEL_ACK, 0);