LenweSaralonde / Musician

Add-on for World of Warcraft to perform music in game.
https://musician.lenwe.io
GNU General Public License v3.0
11 stars 4 forks source link

[Bug] [SoD] Issue with HereBeDragons lib #104

Open illutian opened 1 month ago

illutian commented 1 month ago

Description

It appears that with Patch 1.15.4 of SoD that the library, HereBeDragons, is having an issue. From what I understand how Blizzard handles drop down menus and scrolling was changed.

Error:

1x ...aceBlizzard_MapCanvas/Blizzard_MapCanvas.lua:170: attempt to call method 'OnAcquired' (a nil value) [string "@Blizzard_MapCanvas/Blizzard_MapCanvas.lua"]:170: in function AcquirePin' [string "@Musician/lib/HereBeDragons/HereBeDragons-Pins-2.0.lua"]:451: in functionHandlePin' [string "@Musician/lib/HereBeDragons/HereBeDragons-Pins-2.0.lua"]:391: in function `RefreshAllData' [string "@Musician/lib/HereBeDragons/HereBeDragons-Pins-2.0.lua"]:494: in function <...usician/lib/HereBeDragons/HereBeDragons-Pins-2.0.lua:493> [string "@Musician/lib/HereBeDragons/HereBeDragons-Pins-2.0.lua"]:524: in function <...usician/lib/HereBeDragons/HereBeDragons-Pins-2.0.lua:510>

Locals: self = WorldMapFrame { expandedMapInsetsByMapID =

{ } pinNudgingDirty = true ZoneDropdown = WorldMapZoneDropdown { } minimizedHeight = 438 lockReasons =
{ } MiniBorderFrame = Frame { } callbackTables =
{ } pinPools =
{ } dataProviderEventsCount =
{ } mouseClickHandlers =
{ } pinTemplateTypes =
{ } maximizedWidth = 1024 maximizedHeight = 768 activeAreaTriggers =
{ } MaximizeMinimizeFrame = Frame { } MinimapDropdown = WorldMapZoneMinimapDropdown { } mapArtID = 970 areDetailLayersDirty = true minimizedWidth = 610 debugAreaTriggers = false pinFrameLevelsManager =
{ } pinsToNudge =
{ } dataProviders =
{ } detailLayerPool =
{ } isUndefinedEventAllowed = true MaxMinButtonFrame = Frame { } BorderFrame = Frame { } ScrollContainer = ScrollFrame { } BlackoutFrame = Frame { } mapID = 947 ContinentDropdown = WorldMapContinentDropdown { } } pinTemplate = "HereBeDragonsPinsTemplate" pin = Frame { owningMap = WorldMapFrame { } pinTemplate = "HereBeDragonsPinsTemplate" } newPin = false (temporary) = nil (temporary) = Frame { owningMap = WorldMapFrame { } pinTemplate = "HereBeDragonsPinsTemplate" } (temporary) = NWBDMFContinent { tooltip = NWBDMFContinentTooltip { } texture = Texture { } } (temporary) = 0.190890 (temporary) = 0.556437 (temporary) = "TOOLTIP" (*temporary) = "attempt to call method 'OnAcquired' (a nil value)"

Reproduction steps

This is an 'on game load' error and requires no user interaction to trigger.

Actual behavior

This is a library issue and, if I'm reading it correctly, would cause issues with Musician placing the 'music pins' on the map.

Expected behavior

Can't really tell if this is even working as the map is busted (it's not displaying).

Screenshots

No response

World of Warcraft flavor

Other (PTR, beta...)

World of Warcraft version

1.15.4

Add-on version

1.9.10.3

Have you tried disabling all your other add-ons to ensure only this add-on causes the issue?

Yes

Additional context

No response

LenweSaralonde commented 1 month ago

Looks like HereBeDragons was recently updated, it's probably a bug in the library introduced by a Blizzard change. I'll try to update it when I have some time.

LenweSaralonde commented 1 month ago

I tried to reproduce on a fresh character on SoD and I see no error.

  1. Do you encounter this issue at a specific location ?
  2. Are you sure you disabled ALL your addons except Musician and still have the error ?
  3. If the error only occurs with some other addons enabled, what addons do you have ?

A similar bug was reported on the HereBeDragons GitHub and the root cause seems to be another add-on using an older version of HBD : https://github.com/Nevcairiel/HereBeDragons/issues/19

illutian commented 1 month ago

This was in Stormwind after disabling, I think, HandyNotes (or it might have been TomTom). Basically, I think the other addon was stopping Musician from using the HBD lib. When I disabled that mod, then Musician was able to 'run enough' to cause the error as well.

((I made a bunch of reports this past week, and Curse doesn't seem to make Notifications anymore to responses. So I have no idea which mod exactly, other than it wasn't one that directed you to GitHub to report issues.))

Since the error I post here about mentioned a scrolling function "ScrollContainer = ScrollFrame {", I think this was the same issue plaguing other mods that used the Scrollbar function that Blizzard decided wasn't that important and left out, only to re-add it after it broke stuff.

I'll close this since it appears to have been fixed once the function was reintroduced. - Blizzard quit breaking stuff! xD

LenweSaralonde commented 1 month ago

This is a HBD bug, it needs to be updated.