From b2e89b461ca5b64871d2ff420b9b2de782488b73 Mon Sep 17 00:00:00 2001 From: Brues <5278969+brues-code@users.noreply.github.com> Date: Sat, 31 Oct 2026 19:40:51 -0500 Subject: [PATCH] Hook OnClick/OnEnter/OnLeave instead of wrapping saved handlers; drop dead TBC bank-slot OnUpdate --- api/ui-widgets.lua | 4 +--- modules/bags.lua | 19 ++----------------- 2 files changed, 3 insertions(+), 20 deletions(-) diff --git a/api/ui-widgets.lua b/api/ui-widgets.lua index eb53d0ac..eb6095df 100644 --- a/api/ui-widgets.lua +++ b/api/ui-widgets.lua @@ -592,9 +592,7 @@ function pfUI.api.SkinDropDown(frame, cr, cg, cb, useSmall) CloseDropDownMenus() end - local funcc = button:GetScript("OnClick") - button:SetScript("OnClick", function() - if funcc then funcc() end + button:HookScript("OnClick", function() local DropDownListWidth = DropDownList1:GetWidth() local DropDownFrameWidth = frame.backdrop:GetWidth() if DropDownListWidth < DropDownFrameWidth then diff --git a/modules/bags.lua b/modules/bags.lua index 722fac6b..f66b2f8d 100644 --- a/modules/bags.lua +++ b/modules/bags.lua @@ -585,31 +585,16 @@ pfUI:RegisterModule("bags", function () frame.bagslots.slots[slot].slot = slot end - local SlotEnter = frame.bagslots.slots[slot].frame:GetScript("OnEnter") - frame.bagslots.slots[slot].frame:SetScript("OnEnter", function() + frame.bagslots.slots[slot].frame:HookScript("OnEnter", function() for slot, f in ipairs(pfUI.bags[this.slot + 1].slots) do CreateBackdrop(f.frame, default_border) f.frame.backdrop:SetBackdropBorderColor(.2,1,.8,1) end - SlotEnter(this) end) - local SlotLeave = frame.bagslots.slots[slot].frame:GetScript("OnLeave") - frame.bagslots.slots[slot].frame:SetScript("OnLeave", function() + frame.bagslots.slots[slot].frame:HookScript("OnLeave", function() pfUI.bag:UpdateBag(this.slot + 1) - SlotLeave() end) - - -- On TBC, the OnEvent function of the template scans for framenames, - -- and obviously doesn't know the pf-Names. Therefore, triggering - -- the update function on each frame manually - if frame == pfUI.bag.left and BankFrameItemButton_Update then - local SlotUpdate = frame.bagslots.slots[slot].frame:GetScript("OnUpdate") - frame.bagslots.slots[slot].frame:SetScript("OnUpdate", function() - if SlotUpdate then SlotUpdate(this) end - BankFrameItemButton_Update(this) - end) - end end local left = (slot-min)*(frame.button_size/5*4+default_border*2) + default_border