Fix crash when removing signal from tunnel/bridge with trainless reservation

This commit is contained in:
Jonathan G Rennison
2019-07-29 22:49:24 +01:00
parent 89a6cc3e03
commit d99b867f44

View File

@@ -1912,8 +1912,10 @@ CommandCost CmdRemoveSingleSignal(TileIndex tile, DoCommandFlag flags, uint32 p1
auto check_reservation = [&](TileIndex t) {
if (HasAcrossTunnelBridgeReservation(t)) {
Train *v = GetTrainForReservation(t, FindFirstTrack(GetAcrossTunnelBridgeReservationTrackBits(t)));
if (v != nullptr) FreeTrainTrackReservation(v);
re_reserve_trains.push_back(v);
if (v != nullptr) {
FreeTrainTrackReservation(v);
re_reserve_trains.push_back(v);
}
}
};
check_reservation(tile);