diff --git a/addons/xeh/fnc_preInit.sqf b/addons/xeh/fnc_preInit.sqf index 3c37cecf8..194621537 100644 --- a/addons/xeh/fnc_preInit.sqf +++ b/addons/xeh/fnc_preInit.sqf @@ -73,16 +73,16 @@ GVAR(EventsLowercase) = []; // generate list of incompatible classes GVAR(incompatible) = [] call CBA_fnc_createNamespace; - +private _cfgVehicles = configFile >> "CfgVehicles"; { - private _class = configFile >> "CfgVehicles" >> _x; + private _class = _cfgVehicles >> _x; while {isClass _class && {!ISINCOMP(configName _class)}} do { SETINCOMP(configName _class); _class = inheritsFrom _class; }; -} forEach ([false, true] call CBA_fnc_supportMonitor); +} forEach call (uiNamespace getVariable [QGVAR(incompatibleClasses), {[]}]); // always recompile extended event handlers #ifdef DEBUG_MODE_FULL diff --git a/addons/xeh/fnc_preStart.sqf b/addons/xeh/fnc_preStart.sqf index 10c4a6362..54ca7adc2 100644 --- a/addons/xeh/fnc_preStart.sqf +++ b/addons/xeh/fnc_preStart.sqf @@ -65,4 +65,7 @@ with uiNamespace do { diag_log text format ["[XEH]: %1 does not support Extended Event Handlers! Addon: %2", _classname, _addon]; }; } forEach (true call CBA_fnc_supportMonitor); + + // cache incompatible classes that are needed in preInit + GVAR(incompatibleClasses) = compileFinal str ([false, true] call CBA_fnc_supportMonitor); };