Ignore additional "leave game" messages if the player is in the lobby (part of issue #134).

This commit is contained in:
lotodore
2012-06-01 21:26:15 +02:00
parent 4f9a7941de
commit 26a152c157
+6 -4
View File
@@ -938,13 +938,15 @@ ServerLobbyThread::HandlePacket(boost::shared_ptr<SessionData> session, boost::s
HandleNetPacketJoinGame(session, joinRequest->autoLeave, joinRequest->joinGameAction.choice.joinExistingGame); HandleNetPacketJoinGame(session, joinRequest->autoLeave, joinRequest->joinGameAction.choice.joinExistingGame);
else if (joinRequest->joinGameAction.present == joinGameAction_PR_rejoinExistingGame) else if (joinRequest->joinGameAction.present == joinGameAction_PR_rejoinExistingGame)
HandleNetPacketRejoinGame(session, joinRequest->autoLeave, joinRequest->joinGameAction.choice.rejoinExistingGame); HandleNetPacketRejoinGame(session, joinRequest->autoLeave, joinRequest->joinGameAction.choice.rejoinExistingGame);
} else if (packet->GetMsg()->present == PokerTHMessage_PR_chatRequestMessage) } else if (packet->GetMsg()->present == PokerTHMessage_PR_chatRequestMessage) {
HandleNetPacketChatRequest(session, packet->GetMsg()->choice.chatRequestMessage); HandleNetPacketChatRequest(session, packet->GetMsg()->choice.chatRequestMessage);
else if (packet->GetMsg()->present == PokerTHMessage_PR_rejectGameInvitationMessage) } else if (packet->GetMsg()->present == PokerTHMessage_PR_rejectGameInvitationMessage) {
HandleNetPacketRejectGameInvitation(session, packet->GetMsg()->choice.rejectGameInvitationMessage); HandleNetPacketRejectGameInvitation(session, packet->GetMsg()->choice.rejectGameInvitationMessage);
else if (packet->GetMsg()->present == PokerTHMessage_PR_reportGameMessage) } else if (packet->GetMsg()->present == PokerTHMessage_PR_reportGameMessage) {
HandleNetPacketReportGame(session, packet->GetMsg()->choice.reportGameMessage); HandleNetPacketReportGame(session, packet->GetMsg()->choice.reportGameMessage);
else } else if (packet->GetMsg()->present == PokerTHMessage_PR_leaveGameRequestMessage) {
// Ignore "leave game" in this state.
} else
SessionError(session, ERR_SOCK_INVALID_STATE); SessionError(session, ERR_SOCK_INVALID_STATE);
} }
} }