summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/order_gui.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/order_gui.cpp b/src/order_gui.cpp
index fe7fcdea0..7a2586676 100644
--- a/src/order_gui.cpp
+++ b/src/order_gui.cpp
@@ -805,13 +805,17 @@ public:
if (_ctrl_pressed && sel < this->vehicle->num_orders) {
const Order *ord = GetVehicleOrder(this->vehicle, sel);
- TileIndex xy;
+ TileIndex xy = 0;
switch (ord->GetType()) {
case OT_GOTO_STATION: xy = GetStation(ord->GetDestination())->xy ; break;
- case OT_GOTO_DEPOT: xy = (this->vehicle->type == VEH_AIRCRAFT) ? GetStation(ord->GetDestination())->xy : GetDepot(ord->GetDestination())->xy; break;
case OT_GOTO_WAYPOINT: xy = GetWaypoint(ord->GetDestination())->xy; break;
- default: xy = 0; break;
+ case OT_GOTO_DEPOT:
+ if ((ord->GetDepotActionType() & ODATFB_NEAREST_DEPOT) != 0) break;
+ xy = (this->vehicle->type == VEH_AIRCRAFT) ? GetStation(ord->GetDestination())->xy : GetDepot(ord->GetDestination())->xy;
+ break;
+ default:
+ break;
}
if (xy != 0) ScrollMainWindowToTile(xy);