I did register for the event LUA_WARNING in case it would catch some of the silent errors that I have been getting, and indeed I do receive these events. The problem is that the payload is 0 (null) every single time and I can't for the world understand what is going wrong. I have no problem getting the payload from any of the other events that I am handling.
Here is the function that is receiving and handling the events:
Code:
local function AST_Event_LUAWarning(self, event, ...)
local warnType, warningText = ...
print("Warning: LUA_WARNING, type: " .. tostring(warnType) .. ", text: " .. warningText)
end
The function is handled by a generic event handler that I made. It is working for all other events, but I include it in case someone wants to investigate:
Code:
local function AST_EventAlreadyRegistered(newEventName)
assert(type(newEventName) == "string", "Error: function AST_EventAlredyRegistered(newEventName)\n - Input type is not a 'string'.")
--[[
if not (type(newEventName) == "string") then
print("Error: function AST_EventAlredyRegistered(newEventName)")
print(" - Input type is not a 'string'.")
return false
end
--]]
for i, item in ipairs(_V.Events) do
local existingEventName, func = item["eventName"], item["func"]
if newEventName == existingEventName then
return true
end
end
return false
end
local function AST_RegisterEvent(frame, eventName, func)
if AST_EventAlreadyRegistered(eventName) then
print("Warning: function AST_RegisterEvent(eventName, func)")
print(" - Silently dropping double registering of event '" .. eventName .. "'.")
return
end
local item = {frame = frame, eventName = eventName, func = func}
table.insert(_V.Events, item)
frame:RegisterEvent(eventName)
end
local function AST_MainEventHandler(self, event, ...)
local eventWasHandled = false
for i, item in ipairs(_V.Events) do
if item.eventName == event then
eventWasHandled = true
local t = type(item.func)
if t == "function" then
item.func(self, event, ...)
elseif t == "nil" then
print("Notice: Event '" .. event .. "' was subscribed to, but not assigned any action.")
return
else
print("Warning: function AST_RegisterEvent(frame, eventName, func)")
print(" - Encountered data type for event function other than 'function' or 'nil'.")
print(" Type: " .. t .. ", Value: " .. tostring(item.func) .. ".")
end
end
end
if not eventWasHandled then
print("Warning: AST_MainEventHandler(self, event, ...)")
print(". - Event '" .. event .. "' was fired, but not handled because it is unrecognised.")
print(" - If you see this message, you might want to create handlers to deal with those events.")
end
end
My question is: Why is there no payload/is there anything that I am doing wrong? I can't find anything online regarding this event than type and text should be the payload for this event.