wesnothd: avoid potential use of null optional when handling surrender

This commit is contained in:
loonycyborg 2021-10-31 11:39:20 +03:00
parent cdfec1c1c6
commit d08e16b45e

View file

@ -1021,7 +1021,17 @@ bool game::process_turn(simple_wml::document& data, player_iterator user)
// figure out who gets the surrendered side
if(owner_ == user) {
playername = username(*sides_[(side_index + 1) % sides_.size()]);
auto new_side_index = (side_index + 1) % sides_.size();
auto new_owner = sides_[new_side_index];
while(!new_owner) {
new_side_index = (new_side_index + 1) % sides_.size();
if(new_side_index == side_index) {
ERR_GAME << "Ran out of sides to surrender to.\n";
return false;
}
new_owner = sides_[new_side_index];
}
playername = username(*new_owner);
} else {
playername = username(owner_);
}