Fix crash when removing signal from tunnel/bridge with trainless reservation
This commit is contained in:
@@ -1912,9 +1912,11 @@ CommandCost CmdRemoveSingleSignal(TileIndex tile, DoCommandFlag flags, uint32 p1
|
|||||||
auto check_reservation = [&](TileIndex t) {
|
auto check_reservation = [&](TileIndex t) {
|
||||||
if (HasAcrossTunnelBridgeReservation(t)) {
|
if (HasAcrossTunnelBridgeReservation(t)) {
|
||||||
Train *v = GetTrainForReservation(t, FindFirstTrack(GetAcrossTunnelBridgeReservationTrackBits(t)));
|
Train *v = GetTrainForReservation(t, FindFirstTrack(GetAcrossTunnelBridgeReservationTrackBits(t)));
|
||||||
if (v != nullptr) FreeTrainTrackReservation(v);
|
if (v != nullptr) {
|
||||||
|
FreeTrainTrackReservation(v);
|
||||||
re_reserve_trains.push_back(v);
|
re_reserve_trains.push_back(v);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
check_reservation(tile);
|
check_reservation(tile);
|
||||||
check_reservation(end);
|
check_reservation(end);
|
||||||
|
Reference in New Issue
Block a user