summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/build_vehicle_gui.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp
index 111cced0b..0c3c5d8a5 100644
--- a/src/build_vehicle_gui.cpp
+++ b/src/build_vehicle_gui.cpp
@@ -1055,12 +1055,17 @@ void ShowBuildVehicleWindow(TileIndex tile, VehicleType type)
{
buildvehicle_d *bv;
Window *w;
+ /* We want to be able to open both Available Train as Available Ships,
+ * so if tile == 0 (Available XXX Window), use 'type' as unique number.
+ * As it always is a low value, it won't collide with any real tile
+ * number. */
+ uint num = (tile == 0) ? (int)type : tile;
assert(IsPlayerBuildableVehicleType(type));
- DeleteWindowById(WC_BUILD_VEHICLE, tile);
+ DeleteWindowById(WC_BUILD_VEHICLE, num);
- w = AllocateWindowDescFront(&_build_vehicle_desc, tile);
+ w = AllocateWindowDescFront(&_build_vehicle_desc, num);
if (w == NULL) return;