changeset 3478:aa6e289cd887 draft

(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.
author tron <tron@openttd.org>
date Sat, 08 Apr 2006 13:32:38 +0000
parents a247df51f17b
children d9fe9ee967ab
files station_cmd.c
diffstat 1 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/station_cmd.c
+++ b/station_cmd.c
@@ -1410,6 +1410,18 @@
 	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;