diff --git a/ElvUI/Core/Modules/Skins/Skins.lua b/ElvUI/Core/Modules/Skins/Skins.lua index 99dc8482e6..00220de97d 100644 --- a/ElvUI/Core/Modules/Skins/Skins.lua +++ b/ElvUI/Core/Modules/Skins/Skins.lua @@ -744,6 +744,7 @@ do function S:HandleModelSceneControlButtons(frame) if not frame.IsSkinned then frame.IsSkinned = true + hooksecurefunc(frame, 'UpdateLayout', UpdateLayout) end end diff --git a/ElvUI/Mainline/Modules/Skins/Collectables.lua b/ElvUI/Mainline/Modules/Skins/Collectables.lua index fdc7066228..d37fd7d93d 100644 --- a/ElvUI/Mainline/Modules/Skins/Collectables.lua +++ b/ElvUI/Mainline/Modules/Skins/Collectables.lua @@ -684,7 +684,26 @@ local function SkinTransmogFrames() end end - S:HandleButton(WardrobeTransmogFrame.SpecDropdown) + local SpecButton = WardrobeTransmogFrame.SpecDropdown + if SpecButton then + S:HandleButton(SpecButton) + + SpecButton:SetPoint('RIGHT', WardrobeTransmogFrame.ApplyButton, 'LEFT', -3, 0) + + if SpecButton.Arrow then + SpecButton.Arrow:SetAlpha(0) + end + + if not SpecButton.customArrow then + local tex = SpecButton:CreateTexture(nil, 'ARTWORK') + tex:SetAllPoints() + tex:SetTexture(E.Media.Textures.ArrowUp) + tex:SetRotation(S.ArrowRotation.down) + + SpecButton.customArrow = tex + end + end + S:HandleButton(WardrobeTransmogFrame.ApplyButton) S:HandleButton(WardrobeTransmogFrame.ModelScene.ClearAllPendingButton) S:HandleCheckBox(WardrobeTransmogFrame.ToggleSecondaryAppearanceCheckbox) diff --git a/ElvUI/Mainline/Modules/Skins/GenericTrait.lua b/ElvUI/Mainline/Modules/Skins/GenericTrait.lua index ec8d55d471..d3697ab18c 100644 --- a/ElvUI/Mainline/Modules/Skins/GenericTrait.lua +++ b/ElvUI/Mainline/Modules/Skins/GenericTrait.lua @@ -16,8 +16,12 @@ function S:Blizzard_GenericTraitUI() GenericTrait:SetTemplate('Transparent') S:HandleCloseButton(GenericTrait.CloseButton) - S.ReplaceIconString(GenericTrait.Currency.UnspentPointsCount) - hooksecurefunc(GenericTrait.Currency.UnspentPointsCount, 'SetText', S.ReplaceIconString) + local unspentCount = GenericTrait.Currency.UnspentPointsCount + if unspentCount then + S.ReplaceIconString(unspentCount) + + hooksecurefunc(unspentCount, 'SetText', S.ReplaceIconString) + end end S:AddCallbackForAddon('Blizzard_GenericTraitUI') diff --git a/ElvUI/Mainline/Modules/Skins/PerksProgram.lua b/ElvUI/Mainline/Modules/Skins/PerksProgram.lua index 965b0c8c96..76223f9dd3 100644 --- a/ElvUI/Mainline/Modules/Skins/PerksProgram.lua +++ b/ElvUI/Mainline/Modules/Skins/PerksProgram.lua @@ -21,12 +21,22 @@ end local function HandleRewardButton(box) local container = box.ContentsContainer - if container and not container.IsSkinned then - container.IsSkinned = true + if not container then return end + local icon = container.Icon + if icon then S:HandleIcon(container.Icon) - S.ReplaceIconString(container.Price) - hooksecurefunc(container.Price, 'SetText', S.ReplaceIconString) + end + + local price = container.Price + if price then + S.ReplaceIconString(price) + + if not price.IsSkinned then + price.IsSkinned = true + + hooksecurefunc(price, 'SetText', S.ReplaceIconString) + end end end diff --git a/ElvUI/Mainline/Modules/Skins/Stable.lua b/ElvUI/Mainline/Modules/Skins/Stable.lua index 1c1c0f0d6f..7f951b38f6 100644 --- a/ElvUI/Mainline/Modules/Skins/Stable.lua +++ b/ElvUI/Mainline/Modules/Skins/Stable.lua @@ -55,20 +55,8 @@ function S:Blizzard_StableUI() end local petInfo = modelScene.PetInfo - if petInfo then - if petInfo.Type then - hooksecurefunc(petInfo.Type, 'SetText', S.ReplaceIconString) - end - - --[[ this sucks need something better; pushed also broke - local editButton = petInfo.NameBox.EditButton - if editButton then - local icon = editButton.Icon:GetAtlas() - S:HandleButton(editButton) - editButton.Icon:SetAtlas(icon) - editButton.Icon:SetTexCoord(.22, .8, .22, .8) - end - ]] + if petInfo and petInfo.Type then + hooksecurefunc(petInfo.Type, 'SetText', S.ReplaceIconString) end end