(svn r4323) -Regression: Clear the slot assignments of all vehicles heading twoards a road stop if that road stop gets removed

This issue was fixed in r2210 and reintroduced in r4259 when the multistop handling was overhauled.
This commit is contained in:
tron 2006-04-08 13:32:38 +00:00
parent ffadd91ca9
commit da60a82021
1 changed files with 12 additions and 0 deletions

View File

@ -1410,6 +1410,18 @@ static int32 RemoveRoadStop(Station *st, uint32 flags, TileIndex tile)
if (!EnsureNoVehicle(tile)) return CMD_ERROR;
if (flags & DC_EXEC) {
Vehicle* v;
/* Clear the slot assignment of all vehicles heading for this road stop */
if (cur_stop->num_vehicles != 0) {
FOR_ALL_VEHICLES(v) {
if (v->type == VEH_Road && v->u.road.slot == cur_stop) {
ClearSlot(v);
}
}
}
assert(cur_stop->num_vehicles == 0);
DoClearSquare(tile);
cur_stop->used = false;