GSE: Sequences, Variables, Macros

GSE: Sequences, Variables, Macros

6M Downloads

GSE can throw a null if the edit frame is attempted to be resized before the GUI has finished initialising.

dustinmemoli opened this issue · 7 comments

commented

Hi All,

I am a programming noob and would appreciate assistance. I am attempting to install GSE for the first time. I am receiving two errors: one on load, and another when clicking the 'send' button to generate a macro from the GSE GUI. Please see them below.

I've attempted reinstalling and disabling a few addons, but honestly I feel like I am looking for a needle in a haystack. Cheers!

# On Load Error:
50x GSE_GUI\Editor.lua:728: attempt to index local 'container' (a nil value)
GSE_GUI\Editor.lua:728: in function `GUISelectEditorTab'
GSE_GUI\Editor.lua:59: in function <GSE_GUI\Editor.lua:54>

Locals:
container = nil
event = "Resize"
group = "group"
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index local 'container' (a nil value)"
editframe =

{
Sequence =
{
}
SequenceName = ""
Heroic = 1
save = false
Left = 503.33331298828
sizer_e = {
}
Dungeon = 1
Party = 1
Raid = 1
base =
{
}
Hide = defined @AngryAssignments\libs\AceGUI-3.0\widgets\AceGUIContainer-Frame.lua:127
AceGUIWidgetVersion = 26
Bottom = 710.00006103516
PVP = 1
ClassID = 1
ApplyStatus = defined @AngryAssignments\libs\AceGUI-3.0\widgets\AceGUIContainer-Frame.lua:149
Show = defined @AngryAssignments\libs\AceGUI-3.0\widgets\AceGUIContainer-Frame.lua:131
titlebg = {
}
content = {
}
OnRelease = defined @AngryAssignments\libs\AceGUI-3.0\widgets\AceGUIContainer-Frame.lua:93
OnWidthSet = defined @AngryAssignments\libs\AceGUI-3.0\widgets\AceGUIContainer-Frame.lua:98
Mythic = 1
SetStatusText = defined @AngryAssignments\libs\AceGUI-3.0\widgets\AceGUIContainer-Frame.lua:123
sizer_se = {
}
OnAcquire = defined @AngryAssignments\libs\AceGUI-3.0\widgets\AceGUIContainer-Frame.lua:83
EnableResize = defined @AngryAssignments\libs\AceGUI-3.0\widgets\AceGUIContainer-Frame.lua:135
userdata =
{
}
children =
{
}
OnHeightSet = defined @AngryAssignments\libs\AceGUI-3.0\widgets\AceGUIContainer-Frame.lua:108
type = "Frame"
SetTitle = defined @AngryAssignments\libs\AceGUI-3.0\widgets\AceGUIContainer-Frame.lua:118
Width = 700.00006103516
SelectedTab = "group"
SetStatusTable = defined @AngryAssignments\libs\AceGUI-3.0\widgets\AceGUIContainer-Frame.lua:143
titletext = {
}
LayoutFunc = defined @AngryAssignments\libs\AceGUI-3.0\AceGUI-3.0.lua:629
statustext = {
}
events =
{
}
Default = 1
Height = 511.99993896484
sizer_s = {
}
frame = {
}
localstatus =
{
}
}
GSE =
{
ResetButtons = defined @gse\API\Storage.lua:519
GUIShowDebugWindow = defined @GSE_GUI\DebugWindow.lua:17
GetClassIcon = defined @gse\API\CharacterFunctions.lua:41
StartOOCTimer = defined @gse\API\Events.lua:321
CloneSequence = defined @gse\API\Storage.lua:14
SplitCastSequence = defined @gse\API\StringFunctions.lua:79
CancelTimer = defined @AngryAssignments\libs\AceTimer-3.0\AceTimer-3.0.lua:145
GetCurrentTalents = defined @gse\API\CharacterFunctions.lua:86
UnregisterComm = defined @AdiBags\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:179
StopOOCTimer = defined @gse\API\Events.lua:326
OutputQueue =
{
}
MediaPath = "Addons\GSE\Media"
GUIRecordFrame =
{
}
DebugDumpButton = defined @gse\API\Storage.lua:632
GetSpecNames = defined @gse\API\CharacterFunctions.lua:72
GUIConfirmDeleteSequence = defined @GSE_GUI\GUIFunctions.lua:16
CurrentGCD = 0
GSSlash = defined @gse\API\Events.lua:266
inDungeon = false
UsedSequences =
{
}
ScheduleTimer = defined @AngryAssignments\libs\AceTimer-3.0\AceTimer-3.0.lua:92
ImportCompressedMacroCollection = defined @gse\API\Storage.lua:158
UnsavedOptions =
{
}
UpdateIcon = defined @gse\API\Storage.lua:989
ADDON_LOADED = defined @gse\API\Eve

# Send error:
13x GSE_GUI\Editor.lua:146: attempt to concatenate field 'ClassId' (a nil value)
GSE_GUI\Editor.lua:146: in function <GSE_GUI\Editor.lua:146>
(tail call): ?
[C]: ?
[string "safecall Dispatcher[4]"]:9: in function <[string "safecall Dispatcher[4]"]:5>
(tail call): ?
...dOns\AngryAssignments\libs\AceGUI-3.0\AceGUI-3.0-34.lua:314: in function `Fire'
...ents\libs\AceGUI-3.0-34\widgets\AceGUIWidget-Button.lua:22: in function <...ents\libs\AceGUI-3.0\widgets\AceGUIWidget-Button.lua:19>

Locals:
nil

commented

For the first one it looks like there are conflicting versions on ACE3 with your mods. What happens when you disable angryassignments?

For the second im still looking for the needle.

commented

@TimothyLuke

Hi, I'm one of the maintainers of ElvUI. I came here because we got a report about this error (even though it does not mention ElvUI), and I wanted to help out narrow down the issue.

I looked through your code, and I think I have an idea about what triggers this error:

  • You try to reference container (which is actually a reference to .ContentContainer) before it has been created by yourself.

This is what happens:

  • On line 54 you set "OnSizeChanged" script for editframe.frame. The function calls GSE.GUISelectEditorTab(editframe.ContentContainer, "Resize", editframe.SelectedTab)
  • On line 124 you create the .ContentContainer reference inside the GSE.GUIEditorPerformLayout(frame) function: editframe.ContentContainer = tabgrp

Now, while you may not experience any errors with just GSE enabled, you are still the addon responsible for the error. You introduce code which expects an element to exist very early on, but you don't actually create that element until later in your code. If any 3rd party addon does something which causes the "OnSizeChanged" script to execute for "editframe.frame", and if this happens before your GSE.GUIEditorPerformLayout is executed, then you get the error.

You need to put in place some kind of failsafe to make sure that you don't try to run your OnSizeChanged code until your addon is actually ready for it.

I hope this helps.

Best regards,
Steffen

commented
commented

I was the poster he was referring to. Ironically enough elv + gse was what caused it for me. disable one or the other and was problem free.

If i can help in any way, let me know. you have my gratitude.

commented
commented

perhaps try with S&L plugin for elvui installed as well? Or its likely related to some setting i have enabled within elvui conflicting with the aforementioned in gse. Unfortunately above my paygrade >.< (for now)

commented

Added a fix for this in 2.2.06