# HG changeset patch # User Patric Stout # Date 2024-01-21 17:36:33 # Node ID 42e13f513738141700a796094ef42810382bc837 # Parent f44a8f73d9e02d11a812ed7cc53cdf87c3df4e52 Fix #9722: create vital windows as soon as local_company is set (#11858) Many places use local_company to detect whether world generation is done, and blindly assume all vital windows exists when local_company is set. diff --git a/src/genworld.cpp b/src/genworld.cpp --- a/src/genworld.cpp +++ b/src/genworld.cpp @@ -72,8 +72,6 @@ static void CleanupGeneration() _generating_world = false; SetMouseCursorBusy(false); - /* Show all vital windows again, because we have hidden them */ - if (_game_mode != GM_MENU) ShowVitalWindows(); SetModalProgress(false); _gw.proc = nullptr; _gw.abortp = nullptr; @@ -182,6 +180,8 @@ static void _GenerateWorld() ResetObjectToPlace(); _cur_company.Trash(); _current_company = _local_company = _gw.lc; + /* Show all vital windows again, because we have hidden them. */ + if (_game_mode != GM_MENU) ShowVitalWindows(); SetGeneratingWorldProgress(GWP_GAME_START, 1); /* Call any callback */