# HG changeset patch # User Peter Nelson # Date 2024-01-05 21:38:56 # Node ID bbda8868bcc8ff655a216c4199825f0cf2635558 # Parent 4cf3e4aeb55388b24b63bb522bd33f5acf88e4d5 Codechange: Use company group statistics to test for vehicles for drop down list state. This avoids iterating full the vehicle pool to find out if a company has any vehicles of a particular type. diff --git a/src/toolbar_gui.cpp b/src/toolbar_gui.cpp --- a/src/toolbar_gui.cpp +++ b/src/toolbar_gui.cpp @@ -728,10 +728,10 @@ static CallBackFunction MenuClickIndustr static void ToolbarVehicleClick(Window *w, VehicleType veh) { - int dis = ~0; + int dis = 0; - for (const Vehicle *v : Vehicle::Iterate()) { - if (v->type == veh && v->IsPrimaryVehicle()) ClrBit(dis, v->owner); + for (const Company *c : Company::Iterate()) { + if (c->group_all[veh].num_vehicle == 0) SetBit(dis, c->index); } PopupMainCompanyToolbMenu(w, WID_TN_VEHICLE_START + veh, dis); }