(svn r10020) -Fix [FS#824]: GetNextVehicle() is invalid for anything that isn't a train.
authormaedhros
Sat, 02 Jun 2007 09:11:06 +0000
changeset 7278 f297b439fe6e
parent 7277 eddd0a777e8b
child 7279 cbc7fe26facf
(svn r10020) -Fix [FS#824]: GetNextVehicle() is invalid for anything that isn't a train.
src/vehicle.cpp
--- a/src/vehicle.cpp	Sat Jun 02 08:56:21 2007 +0000
+++ b/src/vehicle.cpp	Sat Jun 02 09:11:06 2007 +0000
@@ -612,11 +612,20 @@
 	if (v->type == VEH_TRAIN && EngineHasArticPart(v)) DeleteVehicle(v->next);
 }
 
+/**
+ * Deletes all vehicles in a chain.
+ * @param v The first vehicle in the chain.
+ *
+ * @warning This function is not valid for any vehicle containing articulated
+ * parts.
+ */
 void DeleteVehicleChain(Vehicle *v)
 {
+	assert(v->type != VEH_TRAIN);
+
 	do {
 		Vehicle *u = v;
-		v = GetNextVehicle(v);
+		v = v->next;
 		DeleteVehicle(u);
 	} while (v != NULL);
 }