changeset 10033:cb5901118b1c draft

(svn r14192) -Fix [FS#2236]: properly update the current timetable's travel/wait times instead of only doing it for one vehicle in the shared order chain and only when some bit has not been set (PhilSophus)
author rubidium <rubidium@openttd.org>
date Sat, 30 Aug 2008 10:26:16 +0000
parents 764bf7d90222
children 4e933b0366d6
files src/timetable_cmd.cpp
diffstat 1 files changed, 7 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/timetable_cmd.cpp
+++ b/src/timetable_cmd.cpp
@@ -24,15 +24,14 @@
 		order->wait_time = time;
 	}
 
-	if (v->cur_order_index == order_number && v->current_order.GetDepotOrderType() & ODTFB_PART_OF_ORDERS) {
-		if (is_journey) {
-			v->current_order.travel_time = time;
-		} else {
-			v->current_order.wait_time = time;
+	for (v = v->FirstShared(); v != NULL; v = v->NextShared()) {
+		if (v->cur_order_index == order_number && v->current_order.Equals(*order)) {
+			if (is_journey) {
+				v->current_order.travel_time = time;
+			} else {
+				v->current_order.wait_time = time;
+			}
 		}
-	}
-
-	for (v = v->FirstShared(); v != NULL; v = v->NextShared()) {
 		InvalidateWindow(WC_VEHICLE_TIMETABLE, v->index);
 	}
 }