diff --git a/OpenRA.Mods.Common/Widgets/Logic/Editor/NewMapLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Editor/NewMapLogic.cs index 8810cb67fb..8448322063 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Editor/NewMapLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Editor/NewMapLogic.cs @@ -70,10 +70,15 @@ namespace OpenRA.Mods.Common.Widgets.Logic Action afterSave = uid => { - ConnectionLogic.Connect(System.Net.IPAddress.Loopback.ToString(), - Game.CreateLocalServer(uid), "", - () => Game.LoadEditor(uid), - () => { Game.CloseServer(); onExit(); }); + // HACK: Work around a synced-code change check. + // It's not clear why this is needed here, but not in the other places that load maps. + Game.RunAfterTick(() => + { + ConnectionLogic.Connect(System.Net.IPAddress.Loopback.ToString(), + Game.CreateLocalServer(uid), "", + () => Game.LoadEditor(uid), + () => { Game.CloseServer(); onExit(); }); + }); Ui.CloseWindow(); onSelect(uid);