diff --git a/api/ui-widgets.lua b/api/ui-widgets.lua index 45bc2014..8159fbce 100644 --- a/api/ui-widgets.lua +++ b/api/ui-widgets.lua @@ -763,23 +763,19 @@ function pfUI.api.SkinArrowButton(button, dir, size) button.icon:SetTexture(pfUI.media["img:"..dir]) - if not button.pfScripted then - RunOOC(function() - local enable = button.Enable - local disable = button.Disable + if not button.pficonfade then + local button, state = button, nil + button.pficonfade = CreateFrame("Frame", nil, button) + button.pficonfade:SetScript("OnUpdate", function() + if state == button:IsEnabled() then return end + state = button:IsEnabled() - button.Enable = function(self) - if enable then enable(self) end - self.icon:SetVertexColor(.8,.8,.8,1) - end - - button.Disable = function(self) - if disable then disable(self) end - self.icon:SetVertexColor(.2,.2,.2,1) + if state > 0 then + button.icon:SetVertexColor(.8,.8,.8,1) + else + button.icon:SetVertexColor(.2,.2,.2,1) end end) - - button.pfScripted = true end end