Fix assertion failure when command triggers PBS tunnel/bridge unreserve

In the case where the signal update buffer is not currently empty
This commit is contained in:
Jonathan G Rennison
2021-03-16 03:23:00 +00:00
parent 1f360e97a1
commit fb64e29c6c
3 changed files with 16 additions and 1 deletions

View File

@@ -241,7 +241,9 @@ void UnreserveRailTrack(TileIndex tile, Track t)
if (IsTunnelBridgePBS(tile)) {
SetTunnelBridgeExitSignalState(tile, SIGNAL_STATE_RED);
} else {
UpdateSignalsOnSegment(tile, INVALID_DIAGDIR, GetTileOwner(tile));
UpdateSignalsInBufferIfOwnerNotAddable(GetTileOwner(tile));
AddSideToSignalBuffer(tile, INVALID_DIAGDIR, GetTileOwner(tile));
UpdateSignalsInBuffer();
}
}
MarkBridgeOrTunnelDirtyOnReservationChange(tile, VMDF_NOT_MAP_MODE);