浏览代码

Fix crash on rmg generation (regression from previous commit)

Ivan Savenko 1 年之前
父节点
当前提交
4386339354
共有 1 个文件被更改,包括 4 次插入3 次删除
  1. 4 3
      lib/gameState/CGameState.cpp

+ 4 - 3
lib/gameState/CGameState.cpp

@@ -312,11 +312,10 @@ void CGameState::initNewGame(const IMapService * mapService, bool allowSavingRan
 		std::unique_ptr<CMap> randomMap = mapGenerator.generate();
 		progressTracking.exclude(mapGenerator);
 
-		map = randomMap.release();
 		// Update starting options
-		for(int i = 0; i < map->players.size(); ++i)
+		for(int i = 0; i < randomMap->players.size(); ++i)
 		{
-			const auto & playerInfo = map->players[i];
+			const auto & playerInfo = randomMap->players[i];
 			if(playerInfo.canAnyonePlay())
 			{
 				PlayerSettings & playerSettings = scenarioOps->playerInfos[PlayerColor(i)];
@@ -363,6 +362,8 @@ void CGameState::initNewGame(const IMapService * mapService, bool allowSavingRan
 			}
 		}
 
+		map = randomMap.release();
+
 		logGlobal->info("Generated random map in %i ms.", sw.getDiff());
 	}
 	else