summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2011-01-15 18:19:04 +0000
committerrubidium <rubidium@openttd.org>2011-01-15 18:19:04 +0000
commitbd9f07e5a0a04f7a82dd7ce57a41d9e8bbab6b60 (patch)
treebc96309a680c0789a5823acec9afd54989f1875a
parent4784c3ac3ca5a70b52ea39618cb3028b90b7a647 (diff)
downloadopenttd-bd9f07e5a0a04f7a82dd7ce57a41d9e8bbab6b60.tar.xz
(svn r21809) -Fix [FS#4404]: remove unreached automatic orders as well when reaching an ordered waypoint or depot (fonsinchen)
-rw-r--r--src/order_cmd.cpp1
-rw-r--r--src/vehicle.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/order_cmd.cpp b/src/order_cmd.cpp
index fd4b64e4c..5d7976a7a 100644
--- a/src/order_cmd.cpp
+++ b/src/order_cmd.cpp
@@ -1733,6 +1733,7 @@ bool ProcessOrders(Vehicle *v)
if (((v->current_order.IsType(OT_GOTO_STATION) && (v->current_order.GetNonStopType() & ONSF_NO_STOP_AT_DESTINATION_STATION)) || v->current_order.IsType(OT_GOTO_WAYPOINT)) &&
IsTileType(v->tile, MP_STATION) &&
v->current_order.GetDestination() == GetStationIndex(v->tile)) {
+ v->DeleteUnreachedAutoOrders();
/* We set the last visited station here because we do not want
* the train to stop at this 'via' station if the next order
* is a no-non-stop order; in that case not setting the last
diff --git a/src/vehicle.cpp b/src/vehicle.cpp
index 95b4245fb..c9beba0f5 100644
--- a/src/vehicle.cpp
+++ b/src/vehicle.cpp
@@ -1265,6 +1265,7 @@ void VehicleEnterDepot(Vehicle *v)
if (t.GetDepotOrderType() & ODTFB_PART_OF_ORDERS) {
/* Part of orders */
+ v->DeleteUnreachedAutoOrders();
UpdateVehicleTimetable(v, true);
v->IncrementOrderIndex();
}