wesnothd: prevent another instance of crash from owner not in player_connections

This commit is contained in:
loonycyborg 2018-05-07 13:14:48 +03:00
parent f91067fe25
commit 3ed366582d

View file

@ -1531,11 +1531,12 @@ bool game::remove_player(const socket_ptr& player, const bool disconnect, const
auto owner_iter = player_connections_.find(owner_);
if(owner_iter == player_connections_.end())
ERR_GAME << "game owner " << client_address(owner_) << "is not in player_connections_\n";
else
else {
owner_iter->info().set_status(player::PLAYING);
observers_.erase(std::remove(observers_.begin(), observers_.end(), owner_), observers_.end());
players_.push_back(owner_);
send_observerquit(owner_);
observers_.erase(std::remove(observers_.begin(), observers_.end(), owner_), observers_.end());
players_.push_back(owner_);
send_observerquit(owner_);
}
}
// send the host a notification of removal of this side