Procházet zdrojové kódy

Fix double free in battleAfterLevelUp() in case of a draw

Vadim Markovtsev před 9 roky
rodič
revize
7185890723
1 změnil soubory, kde provedl 1 přidání a 1 odebrání
  1. 1 1
      server/CGameHandler.cpp

+ 1 - 1
server/CGameHandler.cpp

@@ -741,7 +741,7 @@ void CGameHandler::battleAfterLevelUp( const BattleResult &result )
 
 		sendAndApply(&sah);
 	}
-	if(finishingBattle->winnerHero && finishingBattle->winnerHero->stacks.empty())
+	if(result.winner != 2 && finishingBattle->winnerHero && finishingBattle->winnerHero->stacks.empty())
 	{
 		RemoveObject ro(finishingBattle->winnerHero->id);
 		sendAndApply(&ro);