From ddffe32f15807e3ff1baf91b4242951e4ab4e7b5 Mon Sep 17 00:00:00 2001 From: glx22 Date: Thu, 14 Nov 2019 21:13:15 +0100 Subject: [PATCH] Fix #7646: Incomplete cleanup for non-threaded world generation failure (#7805) --- src/genworld.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/genworld.cpp b/src/genworld.cpp index 656a4f9448..c76fe309d9 100644 --- a/src/genworld.cpp +++ b/src/genworld.cpp @@ -133,11 +133,17 @@ static void _GenerateWorld() GenerateLandscape(_gw.mode); GenerateClearTile(); - /* only generate towns, tree and industries in newgame mode. */ + /* Only generate towns, tree and industries in newgame mode. */ if (_game_mode != GM_EDITOR) { if (!GenerateTowns(_settings_game.economy.town_layout)) { _cur_company.Restore(); HandleGeneratingWorldAbortion(); + BasePersistentStorageArray::SwitchMode(PSM_LEAVE_GAMELOOP); + if (_network_dedicated) { + /* Exit the game to prevent a return to main menu. */ + DEBUG(net, 0, "Generating map failed, aborting"); + _exit_game = true; + } return; } GenerateIndustries();