diff --git a/addons/optionsmenu/functions/fnc_onCategorySelectChanged.sqf b/addons/optionsmenu/functions/fnc_onCategorySelectChanged.sqf index 3129e32bef..123a156731 100644 --- a/addons/optionsmenu/functions/fnc_onCategorySelectChanged.sqf +++ b/addons/optionsmenu/functions/fnc_onCategorySelectChanged.sqf @@ -22,6 +22,6 @@ disableSerialization; _settingsMenu = uiNamespace getVariable 'ACE_settingsMenu'; _ctrlComboBox = (_settingsMenu displayCtrl 14); -GVAR(currentCategorySelection) = lbCurSel _ctrlComboBox; +GVAR(currentCategorySelection) = _ctrlComboBox lbValue (lbCurSel _ctrlComboBox); [true] call FUNC(settingsMenuUpdateList); diff --git a/addons/optionsmenu/functions/fnc_onSettingsMenuOpen.sqf b/addons/optionsmenu/functions/fnc_onSettingsMenuOpen.sqf index 104d8195cf..bef61b73e7 100644 --- a/addons/optionsmenu/functions/fnc_onSettingsMenuOpen.sqf +++ b/addons/optionsmenu/functions/fnc_onSettingsMenuOpen.sqf @@ -21,6 +21,7 @@ private ["_setting", "_menu"]; // Filter only user setable setting GVAR(clientSideOptions) = []; GVAR(clientSideColors) = []; +private _clientSettableCategories = [""]; { // If the setting is user setable and not forced @@ -37,6 +38,7 @@ GVAR(clientSideColors) = []; if ((_x select 1) == "COLOR") then { GVAR(clientSideColors) pushBack _setting; }; + _clientSettableCategories pushBackUnique (_x select 8); //Add to list of user-settable categories }; } forEach EGVAR(common,settings); @@ -55,10 +57,13 @@ if (GVAR(serverConfigGeneration) == 0) then { lbClear (_menu displayCtrl 14); { - if (_x == "") then { - _x = localize LSTRING(category_all); + if (_x in _clientSettableCategories) then { //only show category if it has user-settable options + if (_x == "") then { + _x = localize LSTRING(category_all); + }; + private _Index = (_menu displayCtrl 14) lbAdd _x; + (_menu displayCtrl 14) lbSetValue [_Index, _forEachIndex]; }; - (_menu displayCtrl 14) lbAdd _x; } forEach GVAR(categories); (_menu displayCtrl 14) lbSetCurSel GVAR(currentCategorySelection); //All Catagoies