summaryrefslogtreecommitdiff
path: root/src/vehicle_base.h
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2008-09-24 16:40:06 +0000
committersmatz <smatz@openttd.org>2008-09-24 16:40:06 +0000
commit6987e6015af482de4bfa2a9233a6377d2fb1457a (patch)
tree4bdc7914fbb86480437af0957e290777e16788c6 /src/vehicle_base.h
parent7a527807d908cfd667c8d32f89435f33f2d231a6 (diff)
downloadopenttd-6987e6015af482de4bfa2a9233a6377d2fb1457a.tar.xz
(svn r14395) -Fix [FS#2285]: crashes and GUI desyncs when order is deleted/modified while the timetable window is open
-Fix: close any dropdown and child windows in the Order and Timetable windows when selected order is deselected, deleted, ...
Diffstat (limited to 'src/vehicle_base.h')
-rw-r--r--src/vehicle_base.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/vehicle_base.h b/src/vehicle_base.h
index d0bc4188c..4ad13c306 100644
--- a/src/vehicle_base.h
+++ b/src/vehicle_base.h
@@ -657,6 +657,19 @@ static inline Order *GetVehicleOrder(const Vehicle *v, int index)
return order;
}
+
+/** Returns VehicleOrderID of selected order */
+static inline VehicleOrderID GetVehicleOrderID(const Vehicle *v, OrderID order)
+{
+ VehicleOrderID ret = 0;
+
+ for (const Order *o = v->orders; o != NULL; o = o->next, ret++) {
+ if (o->index == order) return ret;
+ }
+
+ return INVALID_VEH_ORDER_ID;
+}
+
/**
* Returns the last order of a vehicle, or NULL if it doesn't exists
* @param v Vehicle to query