diff options
author | rubidium <rubidium@openttd.org> | 2009-02-05 15:58:42 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2009-02-05 15:58:42 +0000 |
commit | 20cb3a581c38d840dc5df4fc149d8d7b002e6a00 (patch) | |
tree | 6779dd1fd0dec649bc15425c89520e958d1d25a1 | |
parent | b42f87d245fe4fa4a741173c86bc7bab3501d223 (diff) | |
download | openttd-20cb3a581c38d840dc5df4fc149d8d7b002e6a00.tar.xz |
(svn r15354) -Fix (r14803): first shared of a vehicle could be NULL making it impossible to (share-)clone the vehicle.
-rw-r--r-- | src/order_cmd.cpp | 3 | ||||
-rw-r--r-- | 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 07cc76156..30aeaa5b2 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 cfda648ec..fff20de4f 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. |