(svn r9430) [0.5] -Backport r9429: when deleting a vehicle which has shared orders with one more vehicle and no orders, segfaulted
--- a/order_cmd.c Fri Mar 23 22:54:19 2007 +0000
+++ b/order_cmd.c Sat Mar 24 15:16:41 2007 +0000
@@ -463,6 +463,8 @@
{
WindowClass window_class;
+ assert(v->orders != NULL);
+
switch (v->type) {
default: NOT_REACHED();
case VEH_Train: window_class = WC_TRAINS_LIST; break;
@@ -1161,7 +1163,7 @@
/* If we are the only one left in the Shared Order Vehicle List,
* remove it, as we are no longer a Shared Order Vehicle */
- if (u->prev_shared == NULL && u->next_shared == NULL) RemoveSharedOrderVehicleList(u);
+ if (u->prev_shared == NULL && u->next_shared == NULL && u->orders != NULL) RemoveSharedOrderVehicleList(u);
/* We only need to update this-one, because if there is a third
* vehicle which shares the same order-list, nothing will change. If