Remove UnitPopupButtons usage

I need to find a way to reintroduce this, but Blizzard's new method of building these frames doesn't look like it's going to be particularly easy. This stops error popups on 9.2.5
This commit is contained in:
Parnic
2022-06-01 08:29:39 -05:00
parent 47931922bd
commit 82db70969a
3 changed files with 121 additions and 117 deletions

View File

@ -684,34 +684,35 @@ function IceHUD:GetIsInLFGGroup()
return IsInLFGGroup return IsInLFGGroup
end end
local BLACKLISTED_UNIT_MENU_OPTIONS = { if UnitPopupButtons then
local BLACKLISTED_UNIT_MENU_OPTIONS = {
SET_FOCUS = "ICEHUD_SET_FOCUS", SET_FOCUS = "ICEHUD_SET_FOCUS",
CLEAR_FOCUS = "ICEHUD_CLEAR_FOCUS", CLEAR_FOCUS = "ICEHUD_CLEAR_FOCUS",
PET_DISMISS = "ICEHUD_PET_DISMISS", PET_DISMISS = "ICEHUD_PET_DISMISS",
LOCK_FOCUS_FRAME = true, LOCK_FOCUS_FRAME = true,
UNLOCK_FOCUS_FRAME = true, UNLOCK_FOCUS_FRAME = true,
} }
UnitPopupButtons["ICEHUD_SET_FOCUS"] = { UnitPopupButtons["ICEHUD_SET_FOCUS"] = {
text = L["Type %s to set focus"]:format(SLASH_FOCUS1), text = L["Type %s to set focus"]:format(SLASH_FOCUS1),
tooltipText = L["Blizzard currently does not provide a proper way to right-click focus with custom unit frames."], tooltipText = L["Blizzard currently does not provide a proper way to right-click focus with custom unit frames."],
dist = 0, dist = 0,
} }
UnitPopupButtons["ICEHUD_CLEAR_FOCUS"] = { UnitPopupButtons["ICEHUD_CLEAR_FOCUS"] = {
text = L["Type %s to clear focus"]:format(SLASH_CLEARFOCUS1), text = L["Type %s to clear focus"]:format(SLASH_CLEARFOCUS1),
tooltipText = L["Blizzard currently does not provide a proper way to right-click focus with custom unit frames."], tooltipText = L["Blizzard currently does not provide a proper way to right-click focus with custom unit frames."],
dist = 0, dist = 0,
} }
UnitPopupButtons["ICEHUD_PET_DISMISS"] = { UnitPopupButtons["ICEHUD_PET_DISMISS"] = {
text = L["Use your Dismiss Pet spell to dismiss a pet"], text = L["Use your Dismiss Pet spell to dismiss a pet"],
tooltipText = L["Blizzard currently does not provide a proper way to right-click dismiss a pet with custom unit frames."], tooltipText = L["Blizzard currently does not provide a proper way to right-click dismiss a pet with custom unit frames."],
dist = 0, dist = 0,
} }
local munged_unit_menus = {} local munged_unit_menus = {}
local function munge_unit_menu(menu) local function munge_unit_menu(menu)
local result = munged_unit_menus[menu] local result = munged_unit_menus[menu]
if result then if result then
return result return result
@ -760,10 +761,10 @@ local function munge_unit_menu(menu)
UnitPopupMenus[new_menu_name] = new_data UnitPopupMenus[new_menu_name] = new_data
munged_unit_menus[menu] = new_menu_name munged_unit_menus[menu] = new_menu_name
return new_menu_name return new_menu_name
end end
IceHUD.MungeUnitMenu = munge_unit_menu IceHUD.MungeUnitMenu = munge_unit_menu
local function figure_unit_menu(unit) local function figure_unit_menu(unit)
if unit == "focus" then if unit == "focus" then
return "FOCUS" return "FOCUS"
end end
@ -796,15 +797,13 @@ local function figure_unit_menu(unit)
end end
return "PLAYER" return "PLAYER"
end end
IceHUD_UnitFrame_DropDown = CreateFrame("Frame", "IceHUD_UnitFrame_DropDown", UIParent, "UIDropDownMenuTemplate") IceHUD_UnitFrame_DropDown = CreateFrame("Frame", "IceHUD_UnitFrame_DropDown", UIParent, "UIDropDownMenuTemplate")
if UnitPopupFrames then
UnitPopupFrames[#UnitPopupFrames+1] = "IceHUD_UnitFrame_DropDown" UnitPopupFrames[#UnitPopupFrames+1] = "IceHUD_UnitFrame_DropDown"
end
IceHUD.DropdownUnit = nil IceHUD.DropdownUnit = nil
UIDropDownMenu_Initialize(IceHUD_UnitFrame_DropDown, function() UIDropDownMenu_Initialize(IceHUD_UnitFrame_DropDown, function()
if not IceHUD.DropdownUnit then if not IceHUD.DropdownUnit then
return return
end end
@ -814,4 +813,5 @@ UIDropDownMenu_Initialize(IceHUD_UnitFrame_DropDown, function()
menu = IceHUD.MungeUnitMenu(menu) menu = IceHUD.MungeUnitMenu(menu)
UnitPopup_ShowMenu(IceHUD_UnitFrame_DropDown, menu, IceHUD.DropdownUnit, nil, id) UnitPopup_ShowMenu(IceHUD_UnitFrame_DropDown, menu, IceHUD.DropdownUnit, nil, id)
end end
end, "MENU", nil) end, "MENU", nil)
end

View File

@ -1,5 +1,9 @@
# Changelog # Changelog
v1.13.15:
- Fixed compatibility with WoW 9.2.5.
v1.13.14: v1.13.14:
- Fixed target health updating infrequently on Classic. - Fixed target health updating infrequently on Classic.

View File

@ -1,5 +1,5 @@
# Changelog # Changelog
v1.13.14: v1.13.15:
- Fixed target health updating infrequently on Classic. - Fixed compatibility with WoW 9.2.5.