浏览代码

Fix crash on attacking town with garrison but without defending heroes

Ivan Savenko 4 月之前
父节点
当前提交
102d932641
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      lib/mapObjects/CGTownInstance.cpp

+ 1 - 1
lib/mapObjects/CGTownInstance.cpp

@@ -310,7 +310,7 @@ void CGTownInstance::onHeroVisit(IGameEventCallback & gameEvents, const CGHeroIn
 			const CArmedInstance * defendingArmy = defendingHero ? static_cast<const CArmedInstance*>(defendingHero) : this;
 			const bool isBattleOutside = isBattleOutsideTown(defendingHero);
 
-			if(!isBattleOutside && defendingHero == getVisitingHero())
+			if(!isBattleOutside && defendingHero && defendingHero == getVisitingHero())
 				mergeGarrisonOnSiege(gameEvents);
 
 			gameEvents.startBattle(h, defendingArmy, getSightCenter(), h, defendingHero, BattleLayout::createDefaultLayout(*cb, h, defendingArmy), (isBattleOutside ? nullptr : this));