From a0e92e50f69f910bd397805c632b475a7652c2f9 Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Wed, 18 Dec 2019 19:07:19 +0000 Subject: [PATCH] Do not show slots conditional order types when slots not enabled in UI --- src/order_gui.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/order_gui.cpp b/src/order_gui.cpp index f512bf645b..594ca2636a 100644 --- a/src/order_gui.cpp +++ b/src/order_gui.cpp @@ -2101,11 +2101,15 @@ public: break; case WID_O_COND_VARIABLE: { + const OrderConditionVariable ocv = this->vehicle->GetOrder(this->OrderGetSel())->GetConditionVariable(); DropDownList list; for (uint i = 0; i < lengthof(_order_conditional_variable); i++) { + if (ocv != _order_conditional_variable[i]) { + if ((_order_conditional_variable[i] == OCV_TRAIN_IN_SLOT || _order_conditional_variable[i] == OCV_SLOT_OCCUPANCY) && !_settings_client.gui.show_adv_tracerestrict_features) continue; + } list.emplace_back(new DropDownListStringItem(STR_ORDER_CONDITIONAL_LOAD_PERCENTAGE + _order_conditional_variable[i], _order_conditional_variable[i], false)); } - ShowDropDownList(this, std::move(list), this->vehicle->GetOrder(this->OrderGetSel())->GetConditionVariable(), WID_O_COND_VARIABLE); + ShowDropDownList(this, std::move(list), ocv, WID_O_COND_VARIABLE); break; }