diff --git a/src/net/common/serverrecvstate.cpp b/src/net/common/serverrecvstate.cpp index 08993f21..e6cd077b 100644 --- a/src/net/common/serverrecvstate.cpp +++ b/src/net/common/serverrecvstate.cpp @@ -577,7 +577,7 @@ ServerRecvStateStartRound::Process(ServerRecvThread &server) // Main game loop. int curRound = curGame.getCurrentHand()->getActualRound(); curGame.getCurrentHand()->switchRounds(); - if (!curGame.getCurrentHand()->getAllInCondition()) + if (!curGame.getCurrentHand()->getAllInCondition() && curGame.getCurrentHand()->getActualRound() != GAME_STATE_POST_RIVER) curGame.getCurrentHand()->getCurrentBeRo()->run(); int newRound = curGame.getCurrentHand()->getActualRound(); @@ -652,6 +652,9 @@ ServerRecvStateStartRound::Process(ServerRecvThread &server) } else // hand is over { + // Engine will find out who won. + curGame.getCurrentHand()->getCurrentBeRo()->run(); + // Retrieve active players. If only one player is left, no cards are shown. std::list > activePlayers = GetActivePlayers(curGame); // if (activePlayers.empty()) TODO throw exception