From 48395cb2db16c35a68171e634a34b06ae523fb8f Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Thu, 4 Feb 2021 20:54:37 +0000 Subject: [PATCH] Fix assert when freeing train reservation from track edit command --- src/train_cmd.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index 499271abad..94270e6949 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -3421,7 +3421,10 @@ void FreeTrainTrackReservation(Train *v, TileIndex origin, Trackdir orig_td) /* Don't free first station/bridge/tunnel if we are on it. */ if (free_tile || (!(ft.m_is_station && GetStationIndex(ft.m_new_tile) == station_id) && !ft.m_is_tunnel && !ft.m_is_bridge)) ClearPathReservation(v, tile, td); - if (update_signal) UpdateSignalsOnSegment(tile, TrackdirToExitdir(td), GetTileOwner(tile)); + if (update_signal) { + AddSideToSignalBuffer(tile, TrackdirToExitdir(td), GetTileOwner(tile)); + UpdateSignalsInBuffer(); + } free_tile = true; }