Browse Source

Merge pull request #6414 from kdmcser/only_commander_left_crash

Fix crash when only Commander survives after battle
Ivan Savenko 2 weeks ago
parent
commit
e58ab1639b
1 changed files with 2 additions and 1 deletions
  1. 2 1
      server/battles/BattleResultProcessor.cpp

+ 2 - 1
server/battles/BattleResultProcessor.cpp

@@ -416,7 +416,8 @@ void BattleResultProcessor::battleFinalize(const BattleID & battleID, const Batt
 	{
 		winnerHero = (*battle)->battleGetFightingHero(finishingBattle->winnerSide);
 		loserHero = (*battle)->battleGetFightingHero(CBattleInfoEssentials::otherSide(finishingBattle->winnerSide));
-		winnerHasUnitsLeft = winnerHero ? winnerHero->stacksCount() > 0 : true;
+		auto commander = winnerHero->getCommander();
+		winnerHasUnitsLeft = winnerHero ? winnerHero->stacksCount() > 0 || (commander && commander->alive) : true;
 	}
 
 	BattleResultsApplied resultsApplied;