From 73c90d41066201c5ad2746f34f4b208b5198282c Mon Sep 17 00:00:00 2001 From: lotodore Date: Tue, 2 Oct 2007 18:26:22 +0000 Subject: [PATCH] Fixed a crash on game end of network games. --- src/net/common/servergamestate.cpp | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/src/net/common/servergamestate.cpp b/src/net/common/servergamestate.cpp index 552e21fe..a4ab4344 100644 --- a/src/net/common/servergamestate.cpp +++ b/src/net/common/servergamestate.cpp @@ -682,24 +682,16 @@ ServerGameStateStartRound::Process(ServerGameThread &server) server.RemoveDisconnectedPlayers(); // Start next hand - if enough players are left. - int playersPositiveCashCounter = 0; + list > playersWithCash = *curGame.getActivePlayerList(); + playersWithCash.remove_if(boost::bind(&PlayerInterface::getMyCash, _1) < 1); - PlayerListIterator i = curGame.getSeatsList()->begin(); - PlayerListIterator end = curGame.getSeatsList()->end(); - - while (i != end) - { - if ((*i)->getMyCash() > 0) - playersPositiveCashCounter++; - ++i; - } - if (!playersPositiveCashCounter) + if (playersWithCash.empty()) { // No more players left - restart. server.SetState(SERVER_INITIAL_STATE::Instance()); retVal = MSG_NET_GAME_SERVER_END; } - else if (playersPositiveCashCounter == 1) + else if (playersWithCash.size() == 1) { // View a dialog for a new game - delayed. server.SetState(ServerGameStateNextGameDelay::Instance());