1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-08-08 22:26:51 +02:00

Fix crash on winning game by capturing town that is victory condition

without defeating all enemies first
This commit is contained in:
Ivan Savenko
2025-01-18 19:51:09 +00:00
parent 3d56375ec0
commit b946d36bb0

View File

@@ -3518,8 +3518,6 @@ void CGameHandler::checkVictoryLossConditionsForPlayer(PlayerColor player)
addStatistics(peg.statistic); // add last turn befor win / loss
sendAndApply(peg);
turnOrder->onPlayerEndsGame(player);
if (victoryLossCheckResult.victory())
{
//one player won -> all enemies lost
@@ -3547,6 +3545,9 @@ void CGameHandler::checkVictoryLossConditionsForPlayer(PlayerColor player)
}
else
{
// give turn to next player(s)
turnOrder->onPlayerEndsGame(player);
//copy heroes vector to avoid iterator invalidation as removal change PlayerState
auto hlp = p->getHeroes();
for (auto h : hlp) //eliminate heroes