(svn r9338) -Fix: close the Shared Order Vehicle List if you remove the shared link with only 2 vehicles
authortruelight
Mon, 19 Mar 2007 15:59:23 +0000
changeset 6663 d09762058039
parent 6662 7ad747545522
child 6664 78ed98eea2a8
(svn r9338) -Fix: close the Shared Order Vehicle List if you remove the shared link with only 2 vehicles
src/order_cmd.cpp
--- a/src/order_cmd.cpp	Mon Mar 19 15:36:18 2007 +0000
+++ b/src/order_cmd.cpp	Mon Mar 19 15:59:23 2007 +0000
@@ -1138,7 +1138,7 @@
 	/* If we have a shared order-list, don't delete the list, but just
 	    remove our pointer */
 	if (IsOrderListShared(v)) {
-		const Vehicle *u = v;
+		Vehicle *u = v;
 
 		v->orders = NULL;
 		v->num_orders = 0;
@@ -1155,6 +1155,10 @@
 		v->prev_shared = NULL;
 		v->next_shared = NULL;
 
+		/* 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);
+
 		/* We only need to update this-one, because if there is a third
 		 *  vehicle which shares the same order-list, nothing will change. If
 		 *  this is the last vehicle, the last line of the order-window