Bug in AGHost ... Unassigned ErrorHandler
The code is
function agHost(hostElementId, id, width, height, backgroundColor, sourceElement, source, isWindowlessMode, framerate, errorHandler, reqMajorVer, reqMinorVer, reqBuildVer)
{
var agHostHelper = new Object();
agHostHelper.uaString = navigator.userAgent;
agHostHelper.hostElementId = hostElementId;
agHostHelper.id = id;
agHostHelper.width = width;
agHostHelper.height = height;
agHostHelper.backgroundColor = backgroundColor;
agHostHelper.sourceElement = sourceElement;
agHostHelper.source = source;
agHostHelper.isWindowlessMode = isWindowlessMode;
agHostHelper.framerate = framerate;
// if not set, the version defaults to "0.8.5.0"
agHostHelper.reqMajorVer = (reqMajorVer != null) ? reqMajorVer : 0;
agHostHelper.reqMinorVer = (reqMinorVer != null) ? reqMinorVer : 8;
agHostHelper.reqBuildVer = (reqBuildVer != null) ? reqBuildVer : 5;
// assign error handler
if(errorHandler == null)
{
errorHandler = function(line, column, errorCode, errorstring)
{
if(line != 0 && column != 0)
{
var errorString = "(" + line + "," + column + "): " + errorstring + "\n";
errorString += "ERROR CODE: " + errorCode;
alert(errorString);
}
}
}
else
{
agHostHelper.errorHandler = errorHandler;
}
...
}
So if errorHandler is null and the closure needs to be defined, it's never assigned to the property "errorHandler" hanging off of the agHostHelper object.
Am I missing something or should the "agHostHelper.errorHandler = errorHandler" statement not be inside the else? I'm just reading through the JS, I haven't even instantiated the JS closure yet.
Thx, Joel

