From b9413ea250a746bb6fd325b9bc1f0f3083f2b04b Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Wed, 17 Mar 2021 20:35:48 +0000 Subject: [PATCH] Remove assert from UpdateSignalsOnSegment that globset is empty Just do the right thing if it isn't empty instead of asserting --- src/pbs.cpp | 4 +--- src/signal.cpp | 3 ++- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/pbs.cpp b/src/pbs.cpp index 589ca63fb3..44123c6105 100644 --- a/src/pbs.cpp +++ b/src/pbs.cpp @@ -241,9 +241,7 @@ void UnreserveRailTrack(TileIndex tile, Track t) if (IsTunnelBridgePBS(tile)) { SetTunnelBridgeExitSignalState(tile, SIGNAL_STATE_RED); } else { - UpdateSignalsInBufferIfOwnerNotAddable(GetTileOwner(tile)); - AddSideToSignalBuffer(tile, INVALID_DIAGDIR, GetTileOwner(tile)); - UpdateSignalsInBuffer(); + UpdateSignalsOnSegment(tile, INVALID_DIAGDIR, GetTileOwner(tile)); } } MarkBridgeOrTunnelDirtyOnReservationChange(tile, VMDF_NOT_MAP_MODE); diff --git a/src/signal.cpp b/src/signal.cpp index ef52a32807..5549564be3 100644 --- a/src/signal.cpp +++ b/src/signal.cpp @@ -822,9 +822,10 @@ void AddSideToSignalBuffer(TileIndex tile, DiagDirection side, Owner owner) */ SigSegState UpdateSignalsOnSegment(TileIndex tile, DiagDirection side, Owner owner) { - assert(_globset.IsEmpty()); + UpdateSignalsInBufferIfOwnerNotAddable(owner); _globset.Add(tile, side); + _last_owner = INVALID_OWNER; return UpdateSignalsInBuffer(owner); }