brittyazel / EnhancedRaidFrames

World of Warcraft addon to enhance the built-in raid frames with Grid like functionality!
https://www.curseforge.com/wow/addons/enhanced-raid-frame-indicators
MIT License
14 stars 8 forks source link

[BUG] LUA errors: calling 'IsShown' on bad self #112

Closed Fels-wow closed 11 months ago

Fels-wow commented 11 months ago

Hi Brittyazel,

I'm getting the following 2 LUA errors in 3.7.2 and 3.7.1. But not in 3.7.0.

This is the result of 1 timewalking dungeon (to test). I 'wiped saved bugs' in BugSack just before the dungen started.

Thx for your work on this great addon, Fels


154x EnhancedRaidFrames/UtilitiesAndOverrides.lua:75: calling 'IsShown' on bad self (Usage: local isShown = self:IsShown()) [string "=[C]"]: in function IsShown' [string "@EnhancedRaidFrames/UtilitiesAndOverrides.lua"]:75: in functionUpdateInRange' [string "@EnhancedRaidFrames/EnhancedRaidFrames.lua"]:89: in function <...aceEnhancedRaidFrames/EnhancedRaidFrames.lua:89>

[string "=[C]"]: in function CompactUnitFrame_UpdateInRange' [string "@FrameXML/CompactUnitFrame.lua"]:413: in function <FrameXML/CompactUnitFrame.lua:395> [string "=[C]"]: in functionCompactUnitFrame_UpdateAll' [string "@FrameXML/CompactUnitFrame.lua"]:242: in function CompactUnitFrame_SetUnit' [string "@Blizzard_NamePlates/Blizzard_NamePlates.lua"]:546: in functionOnAdded' [string "@Blizzard_NamePlates/Blizzard_NamePlates.lua"]:142: in function `OnNamePlateAdded' [string "@Blizzard_NamePlates/Blizzard_NamePlates.lua"]:78: in function <...eBlizzard_NamePlates/Blizzard_NamePlates.lua:69>

Locals: (*temporary) = Button { 0 = WidgetContainer = Frame { } classificationIndicator = Texture { } RaidTargetFrame = Frame { } maxDispelDebuffs = 0 inVehicle = false optionTable =

{ } overAbsorbGlow = Texture { } SoftTargetFrame = Frame { } totalAbsorb = Texture { } name = FontString { } aggroHighlight = Texture { } needsUpdate = true myHealAbsorbRightShadow = Texture { } overHealAbsorbGlow = Texture { } newUnit = true ignoreCUFNameRequirement = true selectionHighlight = Texture { } myHealAbsorbLeftShadow = Texture { } maxDebuffs = 0 unit = "nameplate1" unitExists = true disableMouse = true healPredictionDirty = true hideCastbar = false castBar = StatusBar { } hideHealthBarMask = 0 BuffFrame = Frame { } ClassificationFrame = Frame { } LoseAggroAnim = AnimationGroup { } myHealAbsorb = Texture { } maxBuffs = 0 totalAbsorbOverlay = Texture { } otherHealPrediction = Texture { } myHealPrediction = Texture { } displayedUnit = "nameplate1" healthBar = StatusBar { } }


1758x EnhancedRaidFrames/UtilitiesAndOverrides.lua:49: calling 'IsShown' on bad self (Usage: local isShown = self:IsShown()) [string "=[C]"]: in function IsShown' [string "@EnhancedRaidFrames/UtilitiesAndOverrides.lua"]:49: in functionSetStockIndicatorVisibility' [string "@EnhancedRaidFrames/EnhancedRaidFrames.lua"]:86: in function <...aceEnhancedRaidFrames/EnhancedRaidFrames.lua:86>

[string "=[C]"]: in function CompactUnitFrame_UpdateAuras' [string "@FrameXML/CompactUnitFrame.lua"]:419: in function <FrameXML/CompactUnitFrame.lua:395> [string "=[C]"]: in functionCompactUnitFrame_UpdateAll' [string "@FrameXML/CompactUnitFrame.lua"]:242: in function CompactUnitFrame_SetUnit' [string "@Blizzard_NamePlates/Blizzard_NamePlates.lua"]:546: in functionOnAdded' [string "@Blizzard_NamePlates/Blizzard_NamePlates.lua"]:142: in function `OnNamePlateAdded' [string "@Blizzard_NamePlates/Blizzard_NamePlates.lua"]:78: in function <...eBlizzard_NamePlates/Blizzard_NamePlates.lua:69>

Locals: (*temporary) = Button { 0 = debuffs =

{ } WidgetContainer = Frame { } classificationIndicator = Texture { } RaidTargetFrame = Frame { } maxDispelDebuffs = 0 inVehicle = false optionTable =
{ } overAbsorbGlow = Texture { } SoftTargetFrame = Frame { } totalAbsorb = Texture { } name = FontString { } aggroHighlight = Texture { } needsUpdate = true myHealAbsorbRightShadow = Texture { } overHealAbsorbGlow = Texture { } newUnit = true ignoreCUFNameRequirement = true selectionHighlight = Texture { } myHealAbsorbLeftShadow = Texture { } maxDebuffs = 0 unit = "nameplate1" unitExists = true disableMouse = true buffs =
{ } healPredictionDirty = true hideCastbar = false castBar = StatusBar { } dispels =
{ } hideHealthBarMask = 0 BuffFrame = Frame { } ClassificationFrame = Frame { } LoseAggroAnim = AnimationGroup { } myHealAbsorb = Texture { } maxBuffs = 0 totalAbsorbOverlay = Texture { } otherHealPrediction = Texture { } myHealPrediction = Texture { } displayedUnit = "nameplate1" healthBar = StatusBar { } }

brittyazel commented 11 months ago

Thanks for the report! I added some protections in to keep this from happening again. New build coming out asap.

Fels-wow commented 11 months ago

Thx for your quick action! Much appreciated! Unfortunately the bug still persist in 3.7.3


13x EnhancedRaidFrames/UtilitiesAndOverrides.lua:83: calling 'IsShown' on bad self (Usage: local isShown = self:IsShown()) [string "=[C]"]: in function IsShown' [string "@EnhancedRaidFrames/UtilitiesAndOverrides.lua"]:83: in functionUpdateInRange' [string "@EnhancedRaidFrames/EnhancedRaidFrames.lua"]:89: in function <...aceEnhancedRaidFrames/EnhancedRaidFrames.lua:89>

[string "=[C]"]: in function CompactUnitFrame_UpdateInRange' [string "@FrameXML/CompactUnitFrame.lua"]:413: in function <FrameXML/CompactUnitFrame.lua:395> [string "=[C]"]: in functionCompactUnitFrame_UpdateAll' [string "@FrameXML/CompactUnitFrame.lua"]:242: in function CompactUnitFrame_SetUnit' [string "@Blizzard_NamePlates/Blizzard_NamePlates.lua"]:546: in functionOnAdded' [string "@Blizzard_NamePlates/Blizzard_NamePlates.lua"]:142: in function `OnNamePlateAdded' [string "@Blizzard_NamePlates/Blizzard_NamePlates.lua"]:78: in function <...eBlizzard_NamePlates/Blizzard_NamePlates.lua:69>

Locals: (*temporary) = Button { 0 = WidgetContainer = Frame { } classificationIndicator = Texture { } RaidTargetFrame = Frame { } maxDispelDebuffs = 0 inVehicle = false optionTable =

{ } overAbsorbGlow = Texture { } SoftTargetFrame = Frame { } totalAbsorb = Texture { } name = FontString { } aggroHighlight = Texture { } needsUpdate = true myHealAbsorbRightShadow = Texture { } overHealAbsorbGlow = Texture { } newUnit = true ignoreCUFNameRequirement = true selectionHighlight = Texture { } myHealAbsorbLeftShadow = Texture { } maxDebuffs = 0 unit = "nameplate1" unitExists = true disableMouse = true healPredictionDirty = true hideCastbar = false castBar = StatusBar { } hideHealthBarMask = 0 BuffFrame = Frame { } ClassificationFrame = Frame { } LoseAggroAnim = AnimationGroup { } myHealAbsorb = Texture { } maxBuffs = 0 totalAbsorbOverlay = Texture { } otherHealPrediction = Texture { } myHealPrediction = Texture { } displayedUnit = "nameplate1" healthBar = StatusBar { } }


337x EnhancedRaidFrames/UtilitiesAndOverrides.lua:53: calling 'IsShown' on bad self (Usage: local isShown = self:IsShown()) [string "=[C]"]: in function IsShown' [string "@EnhancedRaidFrames/UtilitiesAndOverrides.lua"]:53: in functionSetStockIndicatorVisibility' [string "@EnhancedRaidFrames/EnhancedRaidFrames.lua"]:86: in function <...aceEnhancedRaidFrames/EnhancedRaidFrames.lua:86>

[string "=[C]"]: in function CompactUnitFrame_UpdateAuras' [string "@FrameXML/CompactUnitFrame.lua"]:419: in function <FrameXML/CompactUnitFrame.lua:395> [string "=[C]"]: in functionCompactUnitFrame_UpdateAll' [string "@FrameXML/CompactUnitFrame.lua"]:242: in function CompactUnitFrame_SetUnit' [string "@Blizzard_NamePlates/Blizzard_NamePlates.lua"]:546: in functionOnAdded' [string "@Blizzard_NamePlates/Blizzard_NamePlates.lua"]:142: in function `OnNamePlateAdded' [string "@Blizzard_NamePlates/Blizzard_NamePlates.lua"]:78: in function <...eBlizzard_NamePlates/Blizzard_NamePlates.lua:69>

Locals: (*temporary) = Button { 0 = debuffs =

{ } WidgetContainer = Frame { } classificationIndicator = Texture { } RaidTargetFrame = Frame { } maxDispelDebuffs = 0 inVehicle = false optionTable =
{ } overAbsorbGlow = Texture { } SoftTargetFrame = Frame { } totalAbsorb = Texture { } name = FontString { } aggroHighlight = Texture { } needsUpdate = true myHealAbsorbRightShadow = Texture { } overHealAbsorbGlow = Texture { } newUnit = true ignoreCUFNameRequirement = true selectionHighlight = Texture { } myHealAbsorbLeftShadow = Texture { } maxDebuffs = 0 unit = "nameplate1" unitExists = true disableMouse = true buffs =
{ } healPredictionDirty = true hideCastbar = false castBar = StatusBar { } dispels =
{ } hideHealthBarMask = 0 BuffFrame = Frame { } ClassificationFrame = Frame { } LoseAggroAnim = AnimationGroup { } myHealAbsorb = Texture { } maxBuffs = 0 totalAbsorbOverlay = Texture { } otherHealPrediction = Texture { } myHealPrediction = Texture { } displayedUnit = "nameplate1" healthBar = StatusBar { } }

brittyazel commented 11 months ago

Alright, attempt #2. This one should stick I hope. Honestly, I'm dumbfounded why this is happening in the first place, there's really no logical explanation for it that I can think of lol. Nevertheless, I removed the condition that was triggering the bug.

Fels-wow commented 11 months ago

Thx alot Brittyazel! Tested a couple of dungeons. Conclusion: completely solved