evil-morfar / RCLootCouncil2

RCLootCouncil - addon for World of Warcraft
https://rclootcouncil.com
GNU Lesser General Public License v3.0
19 stars 29 forks source link

Confirmed? GetLootSlotInfo can return nil quality #108

Closed SafeteeWoW closed 6 years ago

SafeteeWoW commented 6 years ago

It appears that GetLootSlotInfo may return nil quality some time. I'm not sure how to deal with it. Terminate the LootOpened when this happens, or delay by 1s then rerun the function?

The line number of the following is from the current master commit: ca5a9e6

1x RCLootCouncil\ml_core.lua:1299: attempt to compare number with nil
RCLootCouncil\ml_core.lua:1299: in function `ShouldAutoAward'
RCLootCouncil\ml_core.lua:779: in function `LootOpened'
RCLootCouncil\ml_core.lua:747: in function `OnLootOpen'
RCLootCouncil\core.lua:1726: in function `?'
...ACU\Libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:145: in function <...ACU\Libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:145>
[string "safecall Dispatcher[2]"]:4: in function <[string "safecall Dispatcher[2]"]:4>
[C]: ?
[string "safecall Dispatcher[2]"]:13: in function `?'
...ACU\Libs\CallbackHandler-1.0\CallbackHandler-1.0-6.lua:90: in function `Fire'
...xternal\Wildpants\libs\AceEvent-3.0\AceEvent-3.0-4.lua:120: in function <...xternal\Wildpants\libs\AceEvent-3.0\AceEvent-3.0.lua:119>

Locals:
nil
SafeteeWoW commented 6 years ago

Large update often has some errors. I will continue to monitor errors duing this week's raid.

evil-morfar commented 6 years ago

Odd, that has never been an issue before.

SafeteeWoW commented 6 years ago


~~~This may be false or very rare, or somehow the loot of one boss is uncached when I open the loot frame.~~~

~~~MLdb issues is out of control for people using old version. I'll double check if people with the current version has any MLdb issues tomorrow.~~~
SafeteeWoW commented 6 years ago

Happened again today when looting trash.

1x RCLootCouncil\ml_core.lua:1299: attempt to compare number with nil
RCLootCouncil\ml_core.lua:1299: in function `ShouldAutoAward'
RCLootCouncil\ml_core.lua:779: in function `LootOpened'
RCLootCouncil\ml_core.lua:747: in function `OnLootOpen'
RCLootCouncil\core.lua:1730: in function `?'
SafeteeWoW commented 6 years ago

Probably should add a debug log statement to track what exactly GetLootSlotInfo returns.

SafeteeWoW commented 6 years ago

Happen again when I loot heroic Aggramar, and this bug causes extra items shown up in session window. (First loot open does not show session frame due to this bug,the 2nd loot open click opens the session frame, however there are extra items.

Also, my game freezes for a moment when I click the corpse. This could be a Blizzard issue. Let's try to fix it.

SafeteeWoW commented 6 years ago

Saved variable: https://gist.github.com/SafeteeWoW/12c27729a4cbf1618aeb1c446afd5b19 I should have removed some debug statement in EPGP

SafeteeWoW commented 6 years ago

The Blizzard code of loot frame does have a piece of code to handle this when LootSlotHasItem(slot) is true, but GetLootSlotInfo is not. It simply rerun the update after 1 frame.

SafeteeWoW commented 6 years ago

See PR #114

SafeteeWoW commented 6 years ago

See PR. close this for now