diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 291cfc442e..07ffe970cb 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -254,12 +254,25 @@ GVAR(commonPostInited) = true; [{ // If post inits are not ready then wait if !(SLX_XEH_MACHINE select 8) exitWith {}; + // If settings are not initialized then wait - if !(GVAR(SettingsInitialized)) exitWith {}; + if (isNil QGVAR(settings)) exitWith { + diag_log text format["[ACE] Waiting on settings from server"]; + }; [(_this select 1)] call cba_fnc_removePerFrameHandler; + diag_log text format["[ACE] Settings received from server"]; + + // Load user settings from profile + if (hasInterface) then { + call FUNC(loadSettingsFromProfile); + call FUNC(loadSettingsLocalizedText); + }; + diag_log text format["[ACE] Settings initialized"]; + + //Event that settings are safe to use: ["SettingsInitialized", []] call FUNC(localEvent); }, 0, []] call cba_fnc_addPerFrameHandler; diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index 85478c03ca..4d93705898 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -294,23 +294,9 @@ GVAR(waitAndExecArray) = []; //Debug ACE_COUNTERS = []; -// Wait for server settings to arrive -GVAR(SettingsInitialized) = false; -["ServerSettingsReceived", { - diag_log text format["[ACE] Settings received from server"]; - // Load user settings from profile - if (hasInterface) then { - call FUNC(loadSettingsFromProfile); - call FUNC(loadSettingsLocalizedText); - }; - GVAR(SettingsInitialized) = true; -}] call FUNC(addEventhandler); - // Load settings on the server and broadcast them if (isServer) then { call FUNC(loadSettingsOnServer); - // Raise a global event to notify settings from the server have arrived - ["ServerSettingsReceived", []] call FUNC(globalEvent); }; ACE_player = player;