t-mart / ItemVersion

ItemVersion adds information to your tooltip about when an item was added to World of Warcraft.
https://www.curseforge.com/wow/addons/itemversion
GNU General Public License v3.0
9 stars 8 forks source link

picking up legion artifacts as part of quests - error #5

Closed Kherae closed 3 years ago

Kherae commented 3 years ago

this one is from mousing over ANY legion artifact weapon from their 'container' objects

Message: Interface\AddOns\ItemVersion\Api.lua:12: attempt to index field '?' (a nil value)
Time: Wed Feb 10 17:50:32 2021
Count: 1
Stack: Interface\AddOns\ItemVersion\Api.lua:12: attempt to index field '?' (a nil value)
[string "@Interface\AddOns\ItemVersion\Api.lua"]:12: in function `getItemExpac'
[string "@Interface\AddOns\ItemVersion\Tooltip.lua"]:6: in function <Interface\AddOns\ItemVersion\Tooltip.lua:4>
[string "@Interface\AddOns\ItemVersion\Tooltip.lua"]:44: in function <Interface\AddOns\ItemVersion\Tooltip.lua:14>
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: in function `f'
[string "@Interface\AddOns\XLoot_Frame\Frame.lua"]:486: in function <Interface\AddOns\XLoot_Frame\Frame.lua:475>
[string "=[C]"]: in function `pcall'
[string "@Interface\AddOns\XLoot_Frame\Frame.lua"]:491: in function `ShowTooltip'
[string "@Interface\AddOns\XLoot_Frame\Frame.lua"]:510: in function <Interface\AddOns\XLoot_Frame\Frame.lua:507>

Locals: itemId = nil
(*temporary) = <table> {
 7 = <table> {
 }
 1 = <table> {
 }
 2 = <table> {
 }
 4 = <table> {
 }
 8 = <table> {
 }
 9 = <table> {
 }
 5 = <table> {
 }
 3 = <table> {
 }
 6 = <table> {
 }
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field '?' (a nil value)"
Private = <table> {
 itemIdToVersionId = <table> {
 }
 majorToExpac = <table> {
 }
 versionIdToVersion = <table> {
 }
}

note that this time, the itemId variable is landing as nil. and unfortunately, the item link is returning an empty.

  local dummy={}
  for i=1,string.len(link) do
    table.insert(dummy,string.sub(link,i,i))
  end
  print(unpack(dummy))

result: Untitled

t-mart commented 3 years ago

Hey again. I think my reponse in https://github.com/t-mart/ItemVersion/issues/4#issuecomment-787746641 should suffice for this issue also.

The fixes I made in the last release should (?) fix this problem. ItemVersion should not show up here. Please let me know if that's not the case... I didn't test this case out specifically because I don't have access to any Legion artifacts. But, I do think I solved the root cause.

Release: https://www.curseforge.com/wow/addons/itemversion/files/3222555

Kherae commented 3 years ago

this issue is a very specific case, due to the...special...implementation of the artifact weapons. unless I'm remembering wrong (it's almost 1 AM) they work perfectly fine when in your inventory or equipped, but it was specificially when you go to claim them during the quest that it errored. Also, in case it caused any confusion: In that screenshot, you are seeing two identical artifacts, because the container's inventory respawned. (I now have that artifact in my bank and in my mail, go figure.)

I'll see about testing the artifact issue on my druid, who hasnt gotten any yet, I should be able to do that at least.

Kherae commented 3 years ago

okay, confirmed that there's no errors, so this issue is resolved.