From b7c7a1f70100957232172959ad9e532c5d3237ba Mon Sep 17 00:00:00 2001 From: rubidium Date: Thu, 5 Feb 2009 15:58:42 +0000 Subject: [PATCH] (svn r15354) -Fix (r14803): first shared of a vehicle could be NULL making it impossible to (share-)clone the vehicle. --- src/order_cmd.cpp | 3 +-- src/vehicle_base.h | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp index 07cc761566..30aeaa5b28 100644 --- a/src/order_cmd.cpp +++ b/src/order_cmd.cpp @@ -1427,9 +1427,8 @@ void CheckOrders(const Vehicle *v) /* Do we only have 1 station in our order list? */ if (n_st < 2 && problem_type == -1) problem_type = 0; - assert(v->orders.list); // otherwise the check for v->FirstShared() != v would have been true #ifndef NDEBUG - v->orders.list->DebugCheckSanity(); + if (v->orders.list != NULL) v->orders.list->DebugCheckSanity(); #endif /* We don't have a problem */ diff --git a/src/vehicle_base.h b/src/vehicle_base.h index cfda648ecc..fff20de4fe 100644 --- a/src/vehicle_base.h +++ b/src/vehicle_base.h @@ -515,7 +515,7 @@ public: * Get the first vehicle of this vehicle chain. * @return the first vehicle of the chain. */ - inline Vehicle *FirstShared() const { return (this->orders.list == NULL) ? NULL : this->orders.list->GetFirstSharedVehicle(); } + inline Vehicle *FirstShared() const { return (this->orders.list == NULL) ? this->First() : this->orders.list->GetFirstSharedVehicle(); } /** * Check if we share our orders with another vehicle.