1
0
Fork 0

Compare commits

...

2 Commits

Author SHA1 Message Date
PeterN a0c6259e33
Codechange: Don't access cargo filter before it is initialized. (#11321)
The cargo filter list is initialized during window OnInit, but the first
build of the filtered list occurred before this.
2023-09-20 08:58:08 +01:00
PeterN 48dc4219ea
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...
2023-09-20 08:56:53 +01:00
4 changed files with 10 additions and 9 deletions

View File

@ -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<CMD_BUILD_VEHICLE>::Post(GetCmdBuildVehMsg(this->vehicle_type), CcBuildWagon, this->window_number, sel_eng, true, cargo, INVALID_CLIENT_ID);
} else {

View File

@ -358,9 +358,6 @@ public:
this->group_rename = INVALID_GROUP;
this->group_over = INVALID_GROUP;
this->BuildVehicleList();
this->SortVehicleList();
this->groups.ForceRebuild();
this->groups.NeedResort();
this->BuildGroupList(vli.company);
@ -377,6 +374,9 @@ public:
this->FinishInitNested(window_number);
this->owner = vli.company;
this->BuildVehicleList();
this->SortVehicleList();
}
~VehicleGroupWindow()

View File

@ -1624,10 +1624,11 @@ public:
this->industries.SetListing(this->last_sorting);
this->industries.SetSortFuncs(IndustryDirectoryWindow::sorter_funcs);
this->industries.ForceRebuild();
this->BuildSortIndustriesList();
this->FinishInitNested(0);
this->BuildSortIndustriesList();
this->querystrings[WID_ID_FILTER] = &this->industry_editbox;
this->industry_editbox.cancel_button = QueryString::ACTION_CLEAR;
}

View File

@ -1842,9 +1842,6 @@ public:
this->vscroll = this->GetScrollbar(WID_VL_SCROLLBAR);
this->BuildVehicleList();
this->SortVehicleList();
/* Set up the window widgets */
this->GetWidget<NWidgetCore>(WID_VL_LIST)->tool_tip = STR_VEHICLE_LIST_TRAIN_LIST_TOOLTIP + this->vli.vtype;
@ -1863,6 +1860,9 @@ public:
this->FinishInitNested(window_number);
if (this->vli.company != OWNER_NONE) this->owner = this->vli.company;
this->BuildVehicleList();
this->SortVehicleList();
}
~VehicleListWindow()