diff options
author | rubidium <rubidium@openttd.org> | 2008-04-12 12:51:16 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2008-04-12 12:51:16 +0000 |
commit | fec25508032d8ce6d9d423e8558a729f6541a4e9 (patch) | |
tree | 09b1450efc8dde9130eaac53fb3c345d2f94a0c6 | |
parent | 85354456b9c70944c5629a9dc53aa03a7a506532 (diff) | |
download | openttd-fec25508032d8ce6d9d423e8558a729f6541a4e9.tar.xz |
(svn r12669) -Fix (r12667): crash when a vehicle has never been to a station and the load percentage conditional variable is evaluated.
-rw-r--r-- | src/vehicle.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 34d7803fe..b1cd16763 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -2150,13 +2150,13 @@ uint8 CalcPercentVehicleFilled(Vehicle *v, StringID *color) bool loading = false; const Vehicle *u = v; - const Station *st = GetStation(v->last_station_visited); + const Station *st = v->last_station_visited != INVALID_STATION ? GetStation(v->last_station_visited) : NULL; /* Count up max and used */ for (; v != NULL; v = v->Next()) { count += v->cargo.Count(); max += v->cargo_cap; - if (v->cargo_cap != 0) { + if (v->cargo_cap != 0 && color != NULL) { unloading += HasBit(v->vehicle_flags, VF_CARGO_UNLOADING) ? 1 : 0; loading |= !(u->current_order.GetUnloadType() & OUFB_UNLOAD) && st->goods[v->cargo_type].days_since_pickup != 255; cars++; |