Harden module initialization order

This commit is contained in:
Dusk-92
2026-08-30 10:24:04 +02:00
parent 57614d7424
commit 48fa6cd025
7 changed files with 188 additions and 128 deletions
+13 -5
View File
@@ -15,8 +15,16 @@ local module = ShaguTweaks:register({
})
module.enable = function(self)
-- only run if reduced actionbar is enabled
if ShaguTweaks_config[T["Reduced Actionbar Size"]] == 0 then return end
-- The ShaguTweaks loader initializes module config while iterating an
-- unordered table. On a fresh install the Reduced Actionbar key may not have
-- been visited yet, so fall back to that module's declared default.
local reducedTitle = T["Reduced Actionbar Size"]
local reducedEnabled = ShaguTweaks_config and ShaguTweaks_config[reducedTitle]
if reducedEnabled == nil then
local reducedModule = ShaguTweaks.mods and ShaguTweaks.mods[reducedTitle]
reducedEnabled = reducedModule and reducedModule.enabled and 1 or 0
end
if reducedEnabled ~= 1 then return end
local frames = {
KeyRingButton, CharacterBag3Slot, CharacterBag2Slot, CharacterBag1Slot,
@@ -71,7 +79,7 @@ module.enable = function(self)
if not this.mousedisabled then
-- disable mouse events on all frames
this.mousedisabled = true
for _, frame in pairs(frames) do
for _, frame in ipairs(frames) do
frame:EnableMouse(0)
end
end
@@ -79,7 +87,7 @@ module.enable = function(self)
if this.mousedisabled then
-- enable all mouse events again
this.mousedisabled = false
for _, frame in pairs(frames) do
for _, frame in ipairs(frames) do
frame:EnableMouse(1)
end
end
@@ -92,7 +100,7 @@ module.enable = function(self)
ShaguTweaks.DarkenFrame(bagframe)
for id, frame in pairs(frames) do
for id, frame in ipairs(frames) do
local anchor = frames[id-1] or bagframe
frame:ClearAllPoints()
frame:SetPoint("LEFT", anchor, id == 1 and "LEFT" or "RIGHT", id == 1 and 5 or 2, 0)