Sell Price per unit

Sell Price per unit

91.4k Downloads

[Bug] Error When Hovering Over Special Assignment World Quests

F-Lambda opened this issue ยท 3 comments

commented

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

image

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"
}
commented

Seems to happen with all Special Assignment world quests.

commented

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.

commented

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

  ...