TellMeWhen

TellMeWhen

25M Downloads

[string "*Help.xml:44_OnLoad"]:10: attempt to index field 'arrow' (a nil value)

Raidfather opened this issue ยท 2 comments

commented

WoW Version

Retail

TellMeWhen Version

0.0.0

Describe the bug

Just ran into this today after the patch, haven't had time to look into it myself yet

`Message: [string "*Help.xml:44_OnLoad"]:10: attempt to index field 'arrow' (a nil value)
Time: Wed Apr 23 08:52:19 2025
Count: 1
Stack:
[*Help.xml:44_OnLoad]:10: in function <[string "*Help.xml:44_OnLoad"]:1>
[C]: in function 'resume'
[Interface/AddOns/TellMeWhen/TellMeWhen.lua]:2816: in function <Interface/AddOns/TellMeWhen/TellMeWhen.lua:2777>

Locals:
self = TellMeWhen_HelpFrame {
Glow = Texture {
}
Arrow = Texture {
}
current =

{
}
body = TellMeWhen_HelpFrameBody {
}
}
arrow = TellMeWhen_HelpFrame {
Glow = Texture {
}
Arrow = Texture {
}
current =
{
}
body = TellMeWhen_HelpFrameBody {
}
}
(*temporary) = nil
(*temporary) = nil
(*temporary) = "Arrow"
(*temporary) = "TellMeWhen_HelpFrame"
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field 'arrow' (a nil value)"
`

Export Strings

s
commented

worked around it for now by adding a nil check, since I don't understand any of that code


			<OnLoad>
				self.current = {}
				
				self:SetFrameLevel(200)
				self:SetFrameStrata("FULLSCREEN_DIALOG")
				self:SetToplevel(true)


				local arrow = self
				self.testA = arrow

				arrow.arrow = _G[arrow:GetName() .. "Arrow"]
				if arrow.arrow then
					arrow.arrow:SetAllPoints(true)
					arrow.arrow:SetTexCoord(0.78515625, 0.54687500, 0.99218750, 0.54687500, 0.78515625, 0.58789063, 0.99218750, 0.58789063)

					arrow.glow = _G[arrow:GetName() .. "Glow"]
					arrow.glow:SetAllPoints(true)
					arrow.glow:SetTexCoord(0.40625000, 0.77343750, 0.66015625, 0.77343750, 0.40625000, 0.82812500, 0.66015625, 0.82812500)
				end

				self.body.text:SetSpacing(4)
			</OnLoad>
commented

ADDITIONAL INFO: Blizzard seems to have removed a few of their templates. In this case, the GlowBoxArrowTemplate has been removed from SharedUIPanelTemplates.xml for WoW 11.1.5.
FYI - This is what that template definition looked like in the 11.1.0 code ...

	<!--
*******************************************************************************
    GlowBoxArrowTemplate
	This is a bright yellow arrow with a glow around it
*******************************************************************************
-->
	<Frame name="GlowBoxArrowTemplate" virtual="true">
		<Size x="53" y="21"/>

		<Layers>
			<Layer level="ARTWORK">
				<Texture name="$parentArrow" parentKey="Arrow" inherits="HelpPlateArrowDOWN">
					<Anchors>
						<Anchor point="TOPLEFT"/>
					</Anchors>
				</Texture>
			</Layer>
			<Layer level="BORDER">
				<Texture name="$parentGlow" parentKey="Glow" inherits="HelpPlateArrow-GlowDOWN" alphaMode="ADD" alpha="0.5">
					<Anchors>
						<Anchor point="TOP"/>
					</Anchors>
				</Texture>
			</Layer>
		</Layers>
	</Frame>