# HG changeset patch # User PeterN # Date 2023-09-20 07:56:53 # Node ID 3c97347b5d762f5e383f63f6d7735f5779a6bc69 # Parent 709502b00cf12a694f8965e6f2454d7a8ecbb9e7 Codechange: Don't pass GUI cargo filter constants to command system. (#11320) CMD_BUILD_VEHICLE expects CT_INVALID to indicate a new vehicle should not be refitted on build, but the code passed CF_NONE instead. CF_NONE has the same numeric value at CT_INVALID, so the test passed, but... diff --git a/src/build_vehicle_gui.cpp b/src/build_vehicle_gui.cpp --- a/src/build_vehicle_gui.cpp +++ b/src/build_vehicle_gui.cpp @@ -1323,7 +1323,7 @@ struct BuildVehicleWindow : Window { void SelectEngine(EngineID engine) { CargoID cargo = this->cargo_filter[this->cargo_filter_criteria]; - if (cargo == CF_ANY) cargo = CF_NONE; + if (cargo == CF_ANY || cargo == CF_ENGINES || cargo == CF_NONE) cargo = CT_INVALID; this->sel_engine = engine; this->SetBuyVehicleText(); @@ -1647,7 +1647,7 @@ struct BuildVehicleWindow : Window { EngineID sel_eng = this->sel_engine; if (sel_eng != INVALID_ENGINE) { CargoID cargo = this->cargo_filter[this->cargo_filter_criteria]; - if (cargo == CF_ANY || cargo == CF_ENGINES) cargo = CF_NONE; + if (cargo == CF_ANY || cargo == CF_ENGINES || cargo == CF_NONE) cargo = CT_INVALID; if (this->vehicle_type == VEH_TRAIN && RailVehInfo(sel_eng)->railveh_type == RAILVEH_WAGON) { Command::Post(GetCmdBuildVehMsg(this->vehicle_type), CcBuildWagon, this->window_number, sel_eng, true, cargo, INVALID_CLIENT_ID); } else {