Sluimerstand / ProfessionShoppingList

Track recipes, reagents, cooldowns, and more!
5 stars 3 forks source link

ProfessionFrame Error on Login #123

Closed Meebsy closed 10 months ago

Meebsy commented 10 months ago

ProfessionShoppingList/Core.lua:1736: attempt to index global 'ProfessionsFrame' (a nil value) [string "@ProfessionShoppingList/Core.lua"]:1736: in functionCreateTradeskillAssets' [string "@ProfessionShoppingList/Core.lua"]:3224: in function ?' [string "@ProfessionShoppingList/Core.lua"]:20: in function <ProfessionShoppingList/Core.lua:18> [string "=[C]"]: in functionOpenTradeSkill' [string "@Molinari/hack.lua"]:61: in function <Molinari/hack.lua:54>

Locals: (temporary) = nil (temporary) = nil (temporary) = nil (temporary) = nil (temporary) = nil (temporary) = nil (temporary) = nil (temporary) = nil (*temporary) = "attempt to index global 'ProfessionsFrame' (a nil value)" app =

{ Window = Frame { } UpdatedCooldownWidth = 0 UntrackRecipe = defined @ProfessionShoppingList/Core.lua:1599 api =
{ } UpdateRecipes = defined @ProfessionShoppingList/Core.lua:502 CreateWindow = defined @ProfessionShoppingList/Core.lua:178 Print = defined @ProfessionShoppingList/Core.lua:61 nyiRecipes =
{ } UpdateCooldowns = defined @ProfessionShoppingList/Core.lua:472 slLegendaryRecipeIDs =
{ } SaveWindow = defined @ProfessionShoppingList/Core.lua:163 iconNotReady = "Interface\RaidFrame\ReadyCheck-NotReady" Toggle = defined @ProfessionShoppingList/Core.lua:1506 Legacy = defined @ProfessionShoppingList/Core.lua:126 iconProfession =
{ } TooltipInfo = defined @ProfessionShoppingList/Core.lua:2481 Clear = defined @ProfessionShoppingList/Core.lua:2543 iconReady = "Interface\RaidFrame\ReadyCheck-Ready" iconWaiting = "Interface\RaidFrame\ReadyCheck-Waiting" Settings = defined @ProfessionShoppingList/Core.lua:2585 Initialise = defined @ProfessionShoppingList/Core.lua:70 UpdateAssets = defined @ProfessionShoppingList/Core.lua:2341 Hidden = Frame { } OpenSettings = defined @ProfessionShoppingList/Core.lua:2561 GetReagents = defined @ProfessionShoppingList/Core.lua:251 Dump = defined @ProfessionShoppingList/Core.lua:44 UpdateNumbers = defined @ProfessionShoppingList/Core.lua:326 CreateGeneralAssets = defined @ProfessionShoppingList/Core.lua:1632 TrackRecipe = defined @ProfessionShoppingList/Core.lua:1516 CreateTradeskillAssets = defined @ProfessionShoppingList/Core.lua:1734 Show = defined @ProfessionShoppingList/Core.lua:1487 CreateCraftingOrdersAssets = defined @ProfessionShoppingList/Core.lua:2027 }` Happens upon login, not sure how it effects the addon but the developer of Molinari stated on their github page the following.

_Tell the author of CanIMogIt to check if ProfessionsFrame exists before referencing it (or better yet wait for BlizzardProfessions addon to load), that's on them not Molinari.

While the quote states CanIMogIt it is the exact same error for this addon.

Sluimerstand commented 10 months ago

I don't know about CIMI, but Caerdon was also running into the same issue as PSL for the same reason: We let the code relating to the profession windows run when the game tells us the event TRADE_SKILL_SHOW is fired, which happens when a profession window is opened. For some reason, having Molinari enabled makes that event fire even when the profession window hasn't been loaded yet, which then causes the error you've reported.

I've made the same change to my code as Caerdon has, by letting that code run when the Blizzard_Professions addon has been loaded as suggested by Molinari's author, which should hopefully resolve this issue.

Could you download the latest version of PSL from GitHub and confirm that's the case? When I get home from work I'll download Molinari and test it myself, as well. :)

Sluimerstand commented 10 months ago

Alright, no need for testing on your part - I've verified the error occuring before 932d147 and that it no longer occurs after. It'll be fixed with the next release, thanks for letting me know! :D