diff --git a/ElvUI/Libraries/oUF/elements/assistantindicator.lua b/ElvUI/Libraries/oUF/elements/assistantindicator.lua index 88c804b..1658b1b 100644 --- a/ElvUI/Libraries/oUF/elements/assistantindicator.lua +++ b/ElvUI/Libraries/oUF/elements/assistantindicator.lua @@ -59,7 +59,7 @@ local function Update(self, event) end end -local function Path(self, ...) +local function Path(self, event, a, b, c, d, e) --[[ Override: AssistantIndicator.Override(self, event, ...) Used to completely override the element's update process. @@ -67,7 +67,7 @@ local function Path(self, ...) * event - the event triggering the update (string) * ... - the arguments accompanying the event (string) --]] - return (self.AssistantIndicator.Override or Update) (self, unpack(arg)) + return (self.AssistantIndicator.Override or Update) (self, event, a, b, c, d, e) end local function ForceUpdate(element) diff --git a/ElvUI/Libraries/oUF/elements/castbar.lua b/ElvUI/Libraries/oUF/elements/castbar.lua index 297c377..de4bf64 100644 --- a/ElvUI/Libraries/oUF/elements/castbar.lua +++ b/ElvUI/Libraries/oUF/elements/castbar.lua @@ -368,9 +368,9 @@ local function onUpdate(self, elapsed) end end -local function Update(self, ...) - SPELLCAST_START(self, unpack(arg)) - return SPELLCAST_CHANNEL_START(self, unpack(arg)) +local function Update(self, event, a, b, c, d, e) + SPELLCAST_START(self, event, a, b, c, d, e) + return SPELLCAST_CHANNEL_START(self, event, a, b, c, d, e) end local function ForceUpdate(element) diff --git a/ElvUI/Libraries/oUF/elements/combatindicator.lua b/ElvUI/Libraries/oUF/elements/combatindicator.lua index 51d34b1..cd41df6 100644 --- a/ElvUI/Libraries/oUF/elements/combatindicator.lua +++ b/ElvUI/Libraries/oUF/elements/combatindicator.lua @@ -57,14 +57,14 @@ local function Update(self, event) end end -local function Path(self, ...) +local function Path(self, event, a, b, c, d, e) --[[ Override: CombatIndicator.Override(self, event) Used to completely override the internal update function. * self - the parent object * event - the event triggering the update (string) --]] - return (self.CombatIndicator.Override or Update) (self, unpack(arg)) + return (self.CombatIndicator.Override or Update) (self, event, a, b, c, d, e) end local function ForceUpdate(element) diff --git a/ElvUI/Libraries/oUF/elements/combopoints.lua b/ElvUI/Libraries/oUF/elements/combopoints.lua index 447bf38..80e16d1 100644 --- a/ElvUI/Libraries/oUF/elements/combopoints.lua +++ b/ElvUI/Libraries/oUF/elements/combopoints.lua @@ -67,7 +67,7 @@ local function Update(self, event) end end -local function Path(self, ...) +local function Path(self, event, a, b, c, d, e) --[[ Override: ComboPoints.Override(self, event, ...) Used to completely override the internal update function. @@ -75,7 +75,7 @@ local function Path(self, ...) * event - the event triggering the update (string) * ... - the arguments accompanying the event --]] - return (self.ComboPoints.Override or Update) (self, unpack(arg)) + return (self.ComboPoints.Override or Update) (self, event, a, b, c, d, e) end local function ForceUpdate(element) diff --git a/ElvUI/Libraries/oUF/elements/happinessindicator.lua b/ElvUI/Libraries/oUF/elements/happinessindicator.lua index 286571c..d55d76d 100644 --- a/ElvUI/Libraries/oUF/elements/happinessindicator.lua +++ b/ElvUI/Libraries/oUF/elements/happinessindicator.lua @@ -73,7 +73,7 @@ local function Update(self, event, unit) end end -local function Path(self, ...) +local function Path(self, event, a, b, c, d, e) --[[ Override: HappinessIndicator.Override(self, event, ...) Used to completely override the internal update function. @@ -81,7 +81,7 @@ local function Path(self, ...) * event - the event triggering the update (string) * ... - the arguments accompanying the event --]] - return (self.HappinessIndicator.Override or Update) (self, unpack(arg)) + return (self.HappinessIndicator.Override or Update) (self, event, a, b, c, d, e) end local function ForceUpdate(element) diff --git a/ElvUI/Libraries/oUF/elements/health.lua b/ElvUI/Libraries/oUF/elements/health.lua index 6a9d705..b426949 100644 --- a/ElvUI/Libraries/oUF/elements/health.lua +++ b/ElvUI/Libraries/oUF/elements/health.lua @@ -187,7 +187,7 @@ local function Update(self, event, unit) end end -local function Path(self, ...) +local function Path(self, event, a, b, c, d, e) --[[ Override: Health.Override(self, event, unit) Used to completely override the internal update function. @@ -195,7 +195,7 @@ local function Path(self, ...) * event - the event triggering the update (string) * unit - the unit accompanying the event (string) --]] - return (self.Health.Override or Update) (self, unpack(arg)) + return (self.Health.Override or Update) (self, event, a, b, c, d, e) end local function ForceUpdate(element) diff --git a/ElvUI/Libraries/oUF/elements/leaderindicator.lua b/ElvUI/Libraries/oUF/elements/leaderindicator.lua index df5c83d..70f64be 100644 --- a/ElvUI/Libraries/oUF/elements/leaderindicator.lua +++ b/ElvUI/Libraries/oUF/elements/leaderindicator.lua @@ -60,7 +60,7 @@ local function Update(self, event) end end -local function Path(self, ...) +local function Path(self, event, a, b, c, d, e) --[[ Override: LeaderIndicator.Override(self, event, ...) Used to completely override the internal update function. @@ -68,7 +68,7 @@ local function Path(self, ...) * event - the event triggering the update (string) * ... - the arguments accompanying the event --]] - return (self.LeaderIndicator.Override or Update) (self, unpack(arg)) + return (self.LeaderIndicator.Override or Update) (self, event, a, b, c, d, e) end local function ForceUpdate(element) diff --git a/ElvUI/Libraries/oUF/elements/masterlooterindicator.lua b/ElvUI/Libraries/oUF/elements/masterlooterindicator.lua index 17e59e7..f3abb32 100644 --- a/ElvUI/Libraries/oUF/elements/masterlooterindicator.lua +++ b/ElvUI/Libraries/oUF/elements/masterlooterindicator.lua @@ -81,7 +81,7 @@ local function Update(self, event) end end -local function Path(self, ...) +local function Path(self, event, a, b, c, d, e) --[[ Override: MasterLooterIndicator.Override(self, event, ...) Used to completely override the internal update function. @@ -89,7 +89,7 @@ local function Path(self, ...) * event - the event triggering the update (string) * ... - the arguments accompanying the event --]] - return (self.MasterLooterIndicator.Override or Update) (self, unpack(arg)) + return (self.MasterLooterIndicator.Override or Update) (self, event, a, b, c, d, e) end local function ForceUpdate(element) diff --git a/ElvUI/Libraries/oUF/elements/portrait.lua b/ElvUI/Libraries/oUF/elements/portrait.lua index 5ee59eb..245c568 100644 --- a/ElvUI/Libraries/oUF/elements/portrait.lua +++ b/ElvUI/Libraries/oUF/elements/portrait.lua @@ -91,7 +91,7 @@ local function Update(self, event, unit) end end -local function Path(self, ...) +local function Path(self, event, a, b, c, d, e) --[[ Override: Portrait.Override(self, event, unit) Used to completely override the internal update function. @@ -99,7 +99,7 @@ local function Path(self, ...) * event - the event triggering the update (string) * unit - the unit accompanying the event (string) --]] - return (self.Portrait.Override or Update) (self, unpack(arg)) + return (self.Portrait.Override or Update) (self, event, a, b, c, d, e) end local function ForceUpdate(element) diff --git a/ElvUI/Libraries/oUF/elements/power.lua b/ElvUI/Libraries/oUF/elements/power.lua index d9489c0..232df30 100644 --- a/ElvUI/Libraries/oUF/elements/power.lua +++ b/ElvUI/Libraries/oUF/elements/power.lua @@ -202,7 +202,7 @@ local function Update(self, event, unit) end end -local function Path(self, ...) +local function Path(self, event, a, b, c, d, e) --[[ Override: Power.Override(self, event, unit, ...) Used to completely override the internal update function. @@ -211,7 +211,7 @@ local function Path(self, ...) * unit - the unit accompanying the event (string) * ... - the arguments accompanying the event --]] - return (self.Power.Override or Update) (self, unpack(arg)) + return (self.Power.Override or Update) (self, event, a, b, c, d, e) end local function ForceUpdate(element) diff --git a/ElvUI/Libraries/oUF/elements/pvpindicator.lua b/ElvUI/Libraries/oUF/elements/pvpindicator.lua index a64e00b..b783da8 100644 --- a/ElvUI/Libraries/oUF/elements/pvpindicator.lua +++ b/ElvUI/Libraries/oUF/elements/pvpindicator.lua @@ -79,7 +79,7 @@ local function Update(self, event, unit) end end -local function Path(self, ...) +local function Path(self, event, a, b, c, d, e) --[[Override: PvPIndicator.Override(self, event, ...) Used to completely override the internal update function. @@ -87,7 +87,7 @@ local function Path(self, ...) * event - the event triggering the update (string) * ... - the arguments accompanying the event --]] - return (self.PvPIndicator.Override or Update) (self, unpack(arg)) + return (self.PvPIndicator.Override or Update) (self, event, a, b, c, d, e) end local function ForceUpdate(element) diff --git a/ElvUI/Libraries/oUF/elements/raidtargetindicator.lua b/ElvUI/Libraries/oUF/elements/raidtargetindicator.lua index f97bfad..9c6fe4d 100644 --- a/ElvUI/Libraries/oUF/elements/raidtargetindicator.lua +++ b/ElvUI/Libraries/oUF/elements/raidtargetindicator.lua @@ -59,14 +59,14 @@ local function Update(self, event) end end -local function Path(self, ...) +local function Path(self, event, a, b, c, d, e) --[[ Override: RaidTargetIndicator.Override(self, event) Used to completely override the internal update function. * self - the parent object * event - the event triggering the update (string) --]] - return (self.RaidTargetIndicator.Override or Update) (self, unpack(arg)) + return (self.RaidTargetIndicator.Override or Update) (self, event, a, b, c, d, e) end local function ForceUpdate(element) diff --git a/ElvUI/Libraries/oUF/elements/range.lua b/ElvUI/Libraries/oUF/elements/range.lua index b641146..fab9244 100644 --- a/ElvUI/Libraries/oUF/elements/range.lua +++ b/ElvUI/Libraries/oUF/elements/range.lua @@ -73,14 +73,14 @@ local function Update(self, event) end end -local function Path(self, ...) +local function Path(self, event, a, b, c, d, e) --[[ Override: Range.Override(self, event) Used to completely override the internal update function. * self - the parent object * event - the event triggering the update (string) --]] - return (self.Range.Override or Update) (self, unpack(arg)) + return (self.Range.Override or Update) (self, event, a, b, c, d, e) end -- Internal updating method diff --git a/ElvUI/Libraries/oUF/elements/restingindicator.lua b/ElvUI/Libraries/oUF/elements/restingindicator.lua index 932be68..f6a667c 100644 --- a/ElvUI/Libraries/oUF/elements/restingindicator.lua +++ b/ElvUI/Libraries/oUF/elements/restingindicator.lua @@ -57,14 +57,14 @@ local function Update(self, event) end end -local function Path(self, ...) +local function Path(self, event, a, b, c, d, e) --[[ Override: RestingIndicator.Override(self, event) Used to completely override the internal update function. * self - the parent object * event - the event triggering the update (string) --]] - return (self.RestingIndicator.Override or Update) (self, unpack(arg)) + return (self.RestingIndicator.Override or Update) (self, event, a, b, c, d, e) end local function ForceUpdate(element) diff --git a/ElvUI/Libraries/oUF/events.lua b/ElvUI/Libraries/oUF/events.lua index fd69971..15ff717 100644 --- a/ElvUI/Libraries/oUF/events.lua +++ b/ElvUI/Libraries/oUF/events.lua @@ -22,9 +22,9 @@ local function onEvent() end local event_metatable = { - __call = function(funcs, self, ...) + __call = function(funcs, self, event, a, b, c, d, e) for _, func in next, funcs do - func(self, unpack(arg)) + func(self, event, a, b, c, d, e) end end, } diff --git a/ElvUI/Libraries/oUF_Plugins/oUF_DruidMana/LibDruidMana-1.0/LibDruidMana-1.0.lua b/ElvUI/Libraries/oUF_Plugins/oUF_DruidMana/LibDruidMana-1.0/LibDruidMana-1.0.lua index 8205a31..76f903d 100644 --- a/ElvUI/Libraries/oUF_Plugins/oUF_DruidMana/LibDruidMana-1.0/LibDruidMana-1.0.lua +++ b/ElvUI/Libraries/oUF_Plugins/oUF_DruidMana/LibDruidMana-1.0/LibDruidMana-1.0.lua @@ -443,7 +443,7 @@ function lib:AddListener(tab, method) error(format("Bad argument #3 to `AddListener'. Expected method, got %q.", type(tab[method])), 2) end func = function(...) - return tab[method](tab, unpack(arg)) + return tab[method](tab, event, a, b, c, d, e) end elseif type(tab) == "function" then func = tab diff --git a/ElvUI/Libraries/oUF_Plugins/oUF_DruidMana/oUF_DruidMana.lua b/ElvUI/Libraries/oUF_Plugins/oUF_DruidMana/oUF_DruidMana.lua index 41bd0ad..a159883 100644 --- a/ElvUI/Libraries/oUF_Plugins/oUF_DruidMana/oUF_DruidMana.lua +++ b/ElvUI/Libraries/oUF_Plugins/oUF_DruidMana/oUF_DruidMana.lua @@ -53,8 +53,8 @@ local function Update(self, event, unit, currMana, maxMana) end end -local function Path(self, ...) - return (self.DruidAltMana.Override or Update) (self, unpack(arg)) +local function Path(self, event, a, b, c, d, e) + return (self.DruidAltMana.Override or Update) (self, event, a, b, c, d, e) end local function ElementEnable(self) @@ -101,8 +101,8 @@ local function Visibility(self, event, unit) end end -local function VisibilityPath(self, ...) - return (self.DruidAltMana.OverrideVisibility or Visibility) (self, unpack(arg)) +local function VisibilityPath(self, event, a, b, c, d, e) + return (self.DruidAltMana.OverrideVisibility or Visibility) (self, event, a, b, c, d, e) end local function ForceUpdate(element) diff --git a/ElvUI/Libraries/oUF_Plugins/oUF_RaidDebuffs/oUF_RaidDebuffs.lua b/ElvUI/Libraries/oUF_Plugins/oUF_RaidDebuffs/oUF_RaidDebuffs.lua index bc2e2cb..d6fbbcf 100644 --- a/ElvUI/Libraries/oUF_Plugins/oUF_RaidDebuffs/oUF_RaidDebuffs.lua +++ b/ElvUI/Libraries/oUF_Plugins/oUF_RaidDebuffs/oUF_RaidDebuffs.lua @@ -221,7 +221,7 @@ local function Update(self, event, unit) } end -local function Path(self, ...) +local function Path(self, event, a, b, c, d, e) --[[ Override: RaidDebuffs.Override(self, event, ...) Used to completely override the element's update process. @@ -229,7 +229,7 @@ local function Path(self, ...) * event - the event triggering the update (string) * ... - the arguments accompanying the event (string) --]] - return (self.RaidDebuffs.Override or Update) (self, unpack(arg)) + return (self.RaidDebuffs.Override or Update) (self, event, a, b, c, d, e) end local function ForceUpdate(element) diff --git a/README.md b/README.md index a0692fa..564d13e 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,8 @@ # This repository is actively being fixed and maintained by Bluewhale. ## Changelog +- **Fix:** Fixed nil ID formatting crash in Tooltip's SetHyperlink. +- **Fix:** Removed implicit `arg` table memory leaks in high-frequency oUF element updates by replacing varargs (`...`) with static parameters. - **Fix:** Corrected bug in `Auras.lua` where unused buff icons remained visible on screen due to improper `deadIndex` calculation. - **Fix:** Fixed quest tracker duplicating entries by overriding `QuestWatch_Update` to deduplicate quests manually. - **Fix:** Hid the unwanted `MoneyInputFrame` from appearing over `StaticPopup` dialogs (like the UI Reload prompt) by updating custom popup handling.