changeset 12050:2330a45bc659 draft

(svn r16457) -Fix [FS#2925]: skipping a 'nearest depot order' because none could be found could cause multiple orders to get skipped
author rubidium <rubidium@openttd.org>
date Thu, 28 May 2009 21:12:54 +0000
parents f7f7e8dd44c7
children 774675caf674
files src/order_cmd.cpp
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/order_cmd.cpp
+++ b/src/order_cmd.cpp
@@ -1628,8 +1628,15 @@
 						}
 					}
 				} else {
+					if (conditional_depth > v->GetNumOrders()) return false;
+
 					UpdateVehicleTimetable(v, true);
 					v->IncrementOrderIndex();
+
+					/* Get the current order */
+					const Order *order = v->GetOrder(v->cur_order_index);
+					v->current_order = *order;
+					return UpdateOrderDest(v, order, conditional_depth + 1);
 				}
 			} else if (v->type != VEH_AIRCRAFT) {
 				v->dest_tile = Depot::Get(order->GetDestination())->xy;