summaryrefslogtreecommitdiff
path: root/quacker
diff options
context:
space:
mode:
authorJohn Fultz <jfultz@wolfram.com>2019-01-14 01:40:11 -0600
committerJohn Fultz <jfultz@wolfram.com>2019-01-14 01:40:11 -0600
commit3938bd82ac4ac35916c83b378776159952f744eb (patch)
treeef8f2beb4a79d8d482d1575baaeef7d0c139041a /quacker
parent8bce198c48d0d112d40932892a928d13e9f17ebd (diff)
Fix infinite loop if you give all players the same name.
Diffstat (limited to 'quacker')
-rw-r--r--quacker/quacker.cpp5
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
}
}