From e217cee5de45da315827580facece75fc149958e Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Tue, 11 Feb 2020 22:08:21 +0000 Subject: [PATCH] Fix incorrect reservation when signal is removed from under train In case where the front is in a signalled tunnel/bridge --- src/rail_cmd.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/rail_cmd.cpp b/src/rail_cmd.cpp index 329018bcb9..817719e19f 100644 --- a/src/rail_cmd.cpp +++ b/src/rail_cmd.cpp @@ -1979,7 +1979,9 @@ CommandCost CmdRemoveSingleSignal(TileIndex tile, DoCommandFlag flags, uint32 p1 AddTrackToSignalBuffer(tile, track, GetTileOwner(tile)); YapfNotifyTrackLayoutChange(tile, track); - if (v != nullptr) TryPathReserve(v, false); + if (v != nullptr && !(v->track & TRACK_BIT_WORMHOLE && IsTunnelBridgeWithSignalSimulation(v->tile))) { + TryPathReserve(v, false); + } MarkTileDirtyByTile(tile, ZOOM_LVL_DRAW_MAP); }