From 4771ff1c39bd0a91b9aa70f514c10df0af2600fb Mon Sep 17 00:00:00 2001 From: lotodore Date: Sun, 25 Jul 2010 09:31:13 +0000 Subject: [PATCH] Fixing a server crash when requesting player info of a player who is no longer online. --- src/net/common/serverlobbythread.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/net/common/serverlobbythread.cpp b/src/net/common/serverlobbythread.cpp index 4a38cdf7..48330c06 100644 --- a/src/net/common/serverlobbythread.cpp +++ b/src/net/common/serverlobbythread.cpp @@ -1225,9 +1225,9 @@ ServerLobbyThread::HandleNetPacketRetrievePlayerInfo(SessionWrapper session, con { // Find player in lobby or in a game. boost::shared_ptr tmpPlayer = m_sessionManager.GetSessionByUniquePlayerId(playerInfoRequest.playerId).playerData; - if (!tmpPlayer.get()) + if (!tmpPlayer) tmpPlayer = m_gameSessionManager.GetSessionByUniquePlayerId(playerInfoRequest.playerId).playerData; - if (!tmpPlayer.get()) + if (!tmpPlayer) { boost::mutex::scoped_lock lock(m_computerPlayersMutex); PlayerDataMap::const_iterator pos = m_computerPlayers.find(playerInfoRequest.playerId); @@ -1238,7 +1238,7 @@ ServerLobbyThread::HandleNetPacketRetrievePlayerInfo(SessionWrapper session, con boost::shared_ptr packet(new NetPacket(NetPacket::Alloc)); packet->GetMsg()->present = PokerTHMessage_PR_playerInfoReplyMessage; PlayerInfoReplyMessage_t *netPlayerInfoReply = &packet->GetMsg()->choice.playerInfoReplyMessage; - netPlayerInfoReply->playerId = tmpPlayer->GetUniqueId(); + netPlayerInfoReply->playerId = playerInfoRequest.playerId; if (tmpPlayer) {