diff options
author | John Fultz <jfultz@wolfram.com> | 2019-01-14 01:40:11 -0600 |
---|---|---|
committer | John Fultz <jfultz@wolfram.com> | 2019-01-14 01:40:11 -0600 |
commit | 3938bd82ac4ac35916c83b378776159952f744eb (patch) | |
tree | ef8f2beb4a79d8d482d1575baaeef7d0c139041a /quacker/quacker.cpp | |
parent | 8bce198c48d0d112d40932892a928d13e9f17ebd (diff) |
Fix infinite loop if you give all players the same name.
Diffstat (limited to 'quacker/quacker.cpp')
-rw-r--r-- | quacker/quacker.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/quacker/quacker.cpp b/quacker/quacker.cpp index 5967de8..275003f 100644 --- a/quacker/quacker.cpp +++ b/quacker/quacker.cpp @@ -653,6 +653,11 @@ void TopLevel::initializeGame(const Quackle::PlayerList &players) { random_shuffle(newPlayers.begin(), newPlayers.end()); m_firstPlayerName = newPlayers.front().name(); + if (all_of(newPlayers.begin(), + newPlayers.end(), + [&](const Quackle::Player& p) { return p.name() == prevFirst; } + )) + break; // all player names are identical...break an infinite loop } } |