(svn r25419) -Fix: assign some random other source station to packets which have lost their source

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
fonsinchen 11 years ago
parent e06ad1dda1
commit c9452bbbff

@ -450,6 +450,11 @@ bool VehicleCargoList::Stage(bool accepted, StationID current_station, StationID
assert((cargo_next != next_station || cargo_next == INVALID_STATION) &&
cargo_next != current_station);
} else {
/* Rewrite an invalid source station to some random other one to
* avoid keeping the cargo in the vehicle forever. */
if (cp->source == INVALID_STATION && !ge->flows.empty()) {
cp->source = ge->flows.begin()->first;
}
cargo_next = ge->GetVia(cp->source);
if (cargo_next == INVALID_STATION) {
action = (accepted && cp->source != current_station) ? MTA_DELIVER : MTA_KEEP;

Loading…
Cancel
Save