[Bug] Error When Hovering Over Special Assignment World Quests
F-Lambda opened this issue ยท 3 comments
Getting a ton of errors when hovering over the Hallowfall world quest "Special Assignment: Rise of the Colossals". Seems like it might be the tooltip trying to get a sell price for the weekly cache.
Addon
Addon version: 1.5.21
No other addons loaded, aside from addon manager
Screenshot
Error logs
Message: C stack overflow
Time: Wed Aug 28 14:05:08 2024
Count: 4
Stack: C stack overflow
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:235: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:234>
[string "=(tail call)"]: ?
[string "@Interface/AddOns/Blizzard_UIWidgets/Mainline/Blizzard_UIWidgetTemplateBase.lua"]:1477: in function <...UIWidgets/Mainline/Blizzard_UIWidgetTemplateBase.lua:1474>
[string "=[C]"]: in function `ClearLines'
[string "@Interface/AddOns/SellPricePerUnit/main.lua"]:292: in function <Interface/AddOns/SellPricePerUnit/main.lua:71>
[string "=(tail call)"]: ?
[string "=[C]"]: in function `securecallfunction'
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:61: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:56>
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:81: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:77>
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:117: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:107>
[string "=[C]"]: in function `SetAttribute'
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:142: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:135>
...
[string "=(tail call)"]: ?
[string "@Interface/AddOns/Blizzard_UIWidgets/Mainline/Blizzard_UIWidgetTemplateBase.lua"]:1477: in function <...UIWidgets/Mainline/Blizzard_UIWidgetTemplateBase.lua:1474>
[string "=[C]"]: in function `Hide'
[string "@Interface/AddOns/Blizzard_SharedXML/SharedTooltipTemplates.lua"]:37: in function `SharedTooltip_ClearInsertedFrames'
[string "*GameTooltip.xml:31_OnTooltipCleared"]:2: in function <[string "*GameTooltip.xml:31_OnTooltipCleared"]:1>
[string "=[C]"]: in function `SetOwner'
[string "@Interface/AddOns/Blizzard_SharedMapDataProviders/AreaPOIDataProvider.lua"]:204: in function `TryShowTooltip'
[string "@Interface/AddOns/Blizzard_SharedMapDataProviders/AreaPOIDataProvider.lua"]:169: in function `OnMouseEnter'
[string "@Interface/AddOns/Blizzard_SharedMapDataProviders/AreaPOIDataProvider.lua"]:167: in function `UpdateTooltip'
[string "@Interface/AddOns/Blizzard_GameTooltip/Mainline/GameTooltip.lua"]:421: in function <...AddOns/Blizzard_GameTooltip/Mainline/GameTooltip.lua:414>
Locals: self = UIWidgetBaseItemEmbeddedTooltip1 {
waitingForData = false
processingInfo = <table> {
}
infoList = <table> {
}
updateTooltipTimer = 0.200000
StatusBar = UIWidgetBaseItemEmbeddedTooltip1StatusBar {
}
TextRight1 = UIWidgetBaseItemEmbeddedTooltip1TextRight1 {
}
supportsDataRefresh = true
textRight1Font = "GameTooltipHeaderText"
BottomOverlay = Texture {
}
NineSlice = Frame {
}
textLeft1Font = "GameTooltipHeaderText"
textRight2Font = "GameTooltipText"
IsEmbedded = true
TopOverlay = Texture {
}
layoutType = "TooltipDefaultLayout"
TextLeft1 = UIWidgetBaseItemEmbeddedTooltip1TextLeft1 {
}
textLeft2Font = "GameTooltipText"
TextRight2 = UIWidgetBaseItemEmbeddedTooltip1TextRight2 {
}
TextLeft2 = UIWidgetBaseItemEmbeddedTooltip1TextLeft2 {
}
}
info = <table> {
getterArgs = <table> {
}
getterName = "GetItemByID"
}
Message: C stack overflow
Time: Wed Aug 28 14:05:08 2024
Count: 4
Stack: C stack overflow
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:248: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:238>
[string "=[C]"]: in function `securecallfunction'
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:235: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:234>
[string "=(tail call)"]: ?
[string "@Interface/AddOns/Blizzard_UIWidgets/Mainline/Blizzard_UIWidgetTemplateBase.lua"]:1477: in function <...UIWidgets/Mainline/Blizzard_UIWidgetTemplateBase.lua:1474>
[string "=[C]"]: in function `ClearLines'
[string "@Interface/AddOns/SellPricePerUnit/main.lua"]:292: in function <Interface/AddOns/SellPricePerUnit/main.lua:71>
[string "=(tail call)"]: ?
[string "=[C]"]: in function `securecallfunction'
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:61: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:56>
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:81: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:77>
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:117: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:107>
...
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:235: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:234>
[string "=(tail call)"]: ?
[string "@Interface/AddOns/Blizzard_UIWidgets/Mainline/Blizzard_UIWidgetTemplateBase.lua"]:1477: in function <...UIWidgets/Mainline/Blizzard_UIWidgetTemplateBase.lua:1474>
[string "=[C]"]: in function `Show'
[string "@Interface/AddOns/Blizzard_SharedXML/SharedTooltipTemplates.lua"]:212: in function `GameTooltip_InsertFrame'
[string "@Interface/AddOns/Blizzard_GameTooltip/Mainline/GameTooltip.lua"]:565: in function `GameTooltip_AddWidgetSet'
[string "@Interface/AddOns/Blizzard_SharedMapDataProviders/AreaPOIDataProvider.lua"]:231: in function `TryShowTooltip'
[string "@Interface/AddOns/Blizzard_SharedMapDataProviders/AreaPOIDataProvider.lua"]:169: in function `OnMouseEnter'
[string "@Interface/AddOns/Blizzard_SharedMapDataProviders/AreaPOIDataProvider.lua"]:167: in function `UpdateTooltip'
[string "@Interface/AddOns/Blizzard_GameTooltip/Mainline/GameTooltip.lua"]:421: in function <...AddOns/Blizzard_GameTooltip/Mainline/GameTooltip.lua:414>
Locals: self = UIWidgetBaseItemEmbeddedTooltip1 {
waitingForData = false
processingInfo = <table> {
}
infoList = <table> {
}
updateTooltipTimer = 0.200000
StatusBar = UIWidgetBaseItemEmbeddedTooltip1StatusBar {
}
TextRight1 = UIWidgetBaseItemEmbeddedTooltip1TextRight1 {
}
supportsDataRefresh = true
textRight1Font = "GameTooltipHeaderText"
BottomOverlay = Texture {
}
NineSlice = Frame {
}
textLeft1Font = "GameTooltipHeaderText"
textRight2Font = "GameTooltipText"
IsEmbedded = true
TopOverlay = Texture {
}
layoutType = "TooltipDefaultLayout"
TextLeft1 = UIWidgetBaseItemEmbeddedTooltip1TextLeft1 {
}
textLeft2Font = "GameTooltipText"
TextRight2 = UIWidgetBaseItemEmbeddedTooltip1TextRight2 {
}
TextLeft2 = UIWidgetBaseItemEmbeddedTooltip1TextLeft2 {
}
}
info = <table> {
getterArgs = <table> {
}
getterName = "GetItemByID"
}
Message: C stack overflow
Time: Wed Aug 28 14:05:08 2024
Count: 1
Stack: C stack overflow
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:235: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:234>
[string "=(tail call)"]: ?
[string "@Interface/AddOns/Blizzard_UIWidgets/Mainline/Blizzard_UIWidgetTemplateBase.lua"]:1477: in function <...UIWidgets/Mainline/Blizzard_UIWidgetTemplateBase.lua:1474>
[string "=[C]"]: in function `ClearLines'
[string "@Interface/AddOns/SellPricePerUnit/main.lua"]:292: in function <Interface/AddOns/SellPricePerUnit/main.lua:71>
[string "=(tail call)"]: ?
[string "=[C]"]: in function `securecallfunction'
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:61: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:56>
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:81: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:77>
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:117: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:107>
[string "=[C]"]: in function `SetAttribute'
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:142: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:135>
...
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:288: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:238>
[string "=[C]"]: in function `securecallfunction'
[string "@Interface/AddOns/Blizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua"]:235: in function <...lizzard_SharedXMLGame/Tooltip/TooltipDataHandler.lua:234>
[string "=(tail call)"]: ?
[string "@Interface/AddOns/Blizzard_UIWidgets/Mainline/Blizzard_UIWidgetTemplateBase.lua"]:1477: in function <...UIWidgets/Mainline/Blizzard_UIWidgetTemplateBase.lua:1474>
[string "=[C]"]: in function `Hide'
[string "@Interface/AddOns/Blizzard_SharedXML/SharedTooltipTemplates.lua"]:37: in function `SharedTooltip_ClearInsertedFrames'
[string "*GameTooltip.xml:31_OnTooltipCleared"]:2: in function <[string "*GameTooltip.xml:31_OnTooltipCleared"]:1>
[string "=[C]"]: in function `Hide'
[string "@Interface/AddOns/Blizzard_SharedMapDataProviders/AreaPOIDataProvider.lua"]:272: in function <...zzard_SharedMapDataProviders/AreaPOIDataProvider.lua:259>
Locals: self = UIWidgetBaseItemEmbeddedTooltip1 {
waitingForData = false
processingInfo = <table> {
}
infoList = <table> {
}
updateTooltipTimer = 0.200000
StatusBar = UIWidgetBaseItemEmbeddedTooltip1StatusBar {
}
TextRight1 = UIWidgetBaseItemEmbeddedTooltip1TextRight1 {
}
supportsDataRefresh = true
textRight1Font = "GameTooltipHeaderText"
BottomOverlay = Texture {
}
NineSlice = Frame {
}
textLeft1Font = "GameTooltipHeaderText"
textRight2Font = "GameTooltipText"
IsEmbedded = true
TopOverlay = Texture {
}
layoutType = "TooltipDefaultLayout"
TextLeft1 = UIWidgetBaseItemEmbeddedTooltip1TextLeft1 {
}
textLeft2Font = "GameTooltipText"
TextRight2 = UIWidgetBaseItemEmbeddedTooltip1TextRight2 {
}
TextLeft2 = UIWidgetBaseItemEmbeddedTooltip1TextLeft2 {
}
}
info = <table> {
getterArgs = <table> {
}
getterName = "GetItemByID"
}
Can be fixed by adding the code
-- Fix "Special Assignment" world quests
if name == "Seasoned Adventurer's Cache" then return end
in the "AddSellPrice" function, though it seems a bit hacky. Works for now, at least.
I can confirm the code above works.
If anyone reading this have trouble making this "hack" work, make sure to add the code snippet after the following line in the AddSellPrice
function:
local name, link = tooltip:GetItem()
The full code would then be something like:
local function AddSellPrice(tooltip)
-- Quest reward item tooltips have no tooltip.
if not tooltip.GetItem then return end
local name, link = tooltip:GetItem()
-- Just to be on the safe side...
if not name or not link then return end
-- Fix "Special Assignment" world quests
if name == "Seasoned Adventurer's Cache" then return end
...