From 35d1955db014365149377c986190a3ae77efeeaf Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sat, 18 Nov 2023 13:41:19 +0000 Subject: [PATCH] Fix crash which could occur when adjusting train lengths for old saves e.g. due to only partially initialised timetable --- src/saveload/afterload.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 512173aae8..dd4cbfa75e 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -3216,9 +3216,6 @@ bool AfterLoadGame() } } - /* The center of train vehicles was changed, fix up spacing. */ - if (IsSavegameVersionBefore(SLV_164)) FixupTrainLengths(); - if (IsSavegameVersionBefore(SLV_165)) { for (Town *t : Town::Iterate()) { /* Set the default cargo requirement for town growth */ @@ -4271,6 +4268,12 @@ bool AfterLoadGame() } } + /* + * The center of train vehicles was changed, fix up spacing. + * Delay this until all train and track updates have been performed. + */ + if (IsSavegameVersionBefore(SLV_164)) FixupTrainLengths(); + InitializeRoadGUI(); /* This needs to be done after conversion. */