Due to the addon enable state previously being broken, the addon compartment is checking for C_AddOns.GetAddOnEnableState(addon) > 0, which will cause it to incorrectly show addon compartment entries if the given addon is enabled on any character, even if it's disabled on the current character. This leads to errors when entering and clicking entries from addons that are not enabled.
A possible solution would be to check the addon enable state for the current character, rather than for all characters on the account.
function AddonCompartmentMixin:RegisterAddons()
local addonCount = C_AddOns.GetNumAddOns();
+ local character = UnitName("player");
for addon = 1, addonCount do
- local addonEnabled = C_AddOns.GetAddOnEnableState(addon) > 0;
+ local addonEnabled = C_AddOns.GetAddOnEnableState(addon, character) == 2;
Due to the addon enable state previously being broken, the addon compartment is checking for
C_AddOns.GetAddOnEnableState(addon) > 0
, which will cause it to incorrectly show addon compartment entries if the given addon is enabled on any character, even if it's disabled on the current character. This leads to errors when entering and clicking entries from addons that are not enabled.A possible solution would be to check the addon enable state for the current character, rather than for all characters on the account.