diff --git a/changelog.md b/changelog.md index 19082921..ddd24abc 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,9 @@ +## Changes + +## Bugfixes + +- *Addon should now always properly initialize when reloading as the ML.* + # 3.13.2 ## Changes diff --git a/core.lua b/core.lua index f421bfc2..8caacadf 100644 --- a/core.lua +++ b/core.lua @@ -1511,6 +1511,9 @@ function RCLootCouncil:OnEvent(event, ...) if not self.masterLooter and self.db.global.cache.masterLooter then self.masterLooter = Player:Get(self.db.global.cache.masterLooter) self.isMasterLooter = self.masterLooter == self.player + if self.isMasterLooter then + self:CallModule("masterlooter") + end end self.Log:d("ML, Cached:", self.masterLooter, self.db.global.cache.masterLooter) @@ -1522,7 +1525,7 @@ function RCLootCouncil:OnEvent(event, ...) self:OnCouncilReceived(self.masterLooter, self.db.global.cache.council) end - -- Restore ML priveliges + -- Restore handleLoot if self.db.global.cache.handleLoot and self.isMasterLooter then self.Log:D("Cached handleLoot:", self.db.global.cache.handleLoot) self:StartHandleLoot() @@ -1530,6 +1533,7 @@ function RCLootCouncil:OnEvent(event, ...) -- If we still haven't set masterLooter, try delaying a bit. -- but we don't have to wait if we got it from cache. + -- ? REVIEW: This might not be needed anymore. self:ScheduleTimer(function() if not self.isMasterLooter and self.masterLooter and self.masterLooter ~= "" then self:Send("group", "pI", self:GetPlayerInfo()) -- Also send out info, just in case diff --git a/ml_core.lua b/ml_core.lua index 878252ea..6e0f0fc9 100644 --- a/ml_core.lua +++ b/ml_core.lua @@ -118,6 +118,13 @@ function RCLootCouncilML:AddItem(item, bagged, slotIndex, owner, entry, boss) self.Log:d("AddItem", item, bagged, slotIndex, owner, entry, boss) if type(item) == "string" and item:find("|Hcurrency") then return end -- Ignore "Currency" item links + -- Not having the lootTable is a sure sign that the module isn't enabled. + if not self.lootTable then + if not self:IsEnabled() and addon.isMasterLooter then + ErrorHandler:ThrowSilentError("ML module not enabled @AddItem") + addon:StartHandleLoot() + end + end if not entry then entry = {} self.lootTable[#self.lootTable + 1] = entry