From 8fe9bc6439be7a2c1b82ffe20d22edcbb826b1d8 Mon Sep 17 00:00:00 2001 From: truelight Date: Sun, 23 Jan 2005 11:37:27 +0000 Subject: [PATCH] (svn r1607) -Fix: When deleting an order, the next pointer was not cleared, resulting in some unusual behavoir from time to time --- order_cmd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/order_cmd.c b/order_cmd.c index 6c016ad766..f1d4cce2d4 100644 --- a/order_cmd.c +++ b/order_cmd.c @@ -273,6 +273,7 @@ int32 CmdDeleteOrder(int x, int y, uint32 flags, uint32 vehicle_id, uint32 selec /* Give the item free */ order->type = OT_NOTHING; + order->next = NULL; u = GetFirstVehicleFromSharedList(v); while (u != NULL) { @@ -568,6 +569,7 @@ void BackupVehicleOrders(Vehicle *v, BackuppedOrders *bak) } /* End the list with an OT_NOTHING */ dest->type = OT_NOTHING; + dest->next = NULL; } } @@ -663,7 +665,7 @@ bool CheckOrders(uint data_a, uint data_b) } else { DEBUG(misc, 3) ("CheckOrder called in mode 1 (validation mode) for %d", v->index); }*/ - + FOR_VEHICLE_ORDERS(v, order) { /* Dummy order? */ if (order->type == OT_DUMMY) {