1
0
Fork 0

(svn r16475) -Codechange: move code invalidating Vehicle::last_station_visited to more logical place

release/1.0
smatz 2009-05-31 09:33:12 +00:00
parent 0eaec8edca
commit ab5a51d462
2 changed files with 8 additions and 5 deletions

View File

@ -1458,11 +1458,6 @@ void RemoveOrderFromAllVehicles(OrderType type, DestinationID destination)
FOR_ALL_VEHICLES(v) {
Order *order;
/* Forget about this station if this station is removed */
if (v->last_station_visited == destination && type == OT_GOTO_STATION) {
v->last_station_visited = INVALID_STATION;
}
order = &v->current_order;
if ((v->type == VEH_AIRCRAFT && order->IsType(OT_GOTO_DEPOT) ? OT_GOTO_STATION : order->GetType()) == type &&
v->current_order.GetDestination() == destination) {

View File

@ -75,6 +75,14 @@ Station::~Station()
if (a->targetairport == this->index) a->targetairport = INVALID_STATION;
}
Vehicle *v;
FOR_ALL_VEHICLES(v) {
/* Forget about this station if this station is removed */
if (v->last_station_visited == destination && type == OT_GOTO_STATION) {
v->last_station_visited = INVALID_STATION;
}
}
MarkDirty();
InvalidateWindowData(WC_STATION_LIST, this->owner, 0);