(svn r9127) -Codechange: Check if a cargo is valid before displaying it in a station's cargo rating list. (And duff up the block a little)
--- a/src/station_gui.cpp Sun Mar 11 21:53:46 2007 +0000
+++ b/src/station_gui.cpp Sun Mar 11 22:29:37 2007 +0000
@@ -777,13 +777,17 @@
y = 77;
for (CargoID i = 0; i != NUM_CARGO; i++) {
- if (st->goods[i].enroute_from != INVALID_STATION) {
- SetDParam(0, GetCargo(i)->name);
- SetDParam(2, st->goods[i].rating * 101 >> 8);
- SetDParam(1, STR_3035_APPALLING + (st->goods[i].rating >> 5));
- DrawString(8, y, STR_303D, 0);
- y += 10;
- }
+ const CargoSpec *cs = GetCargo(i);
+ if (!cs->IsValid()) continue;
+
+ const GoodsEntry *ge = &st->goods[i];
+ if (ge->enroute_from == INVALID_STATION) continue;
+
+ SetDParam(0, cs->name);
+ SetDParam(2, ge->rating * 101 >> 8);
+ SetDParam(1, STR_3035_APPALLING + (ge->rating >> 5));
+ DrawString(8, y, STR_303D, 0);
+ y += 10;
}
}
}