Index: source/gui/scripting/JSInterface_IGUIObject.cpp =================================================================== --- source/gui/scripting/JSInterface_IGUIObject.cpp +++ source/gui/scripting/JSInterface_IGUIObject.cpp @@ -608,26 +608,13 @@ } -bool JSI_IGUIObject::construct(JSContext* cx, uint argc, JS::Value* vp) +// This is the constructor called when JS does new GUIObject(). When objects created by C++ code are referenced, +// the JS object is initalised lazily in IGUIObject::GetJSObject() +bool JSI_IGUIObject::construct(JSContext* cx, uint UNUSED(argc), JS::Value* UNUSED(vp)) { JSAutoRequest rq(cx); - JS::CallArgs args = JS::CallArgsFromVp(argc, vp); - ScriptInterface* pScriptInterface = ScriptInterface::GetScriptInterfaceAndCBData(cx)->pScriptInterface; - - if (args.length() == 0) - { - JS_ReportError(cx, "GUIObject has no default constructor"); - return false; - } - - JS::RootedObject obj(cx, pScriptInterface->CreateCustomObject("GUIObject")); - - // Store the IGUIObject in the JS object's 'private' area - IGUIObject* guiObject = (IGUIObject*)args[0].get().toPrivate(); - JS_SetPrivate(obj, guiObject); - - args.rval().setObject(*obj); - return true; + JS_ReportError(cx, "GUIObject constructor from Javascript is implemented."); + return false; } void JSI_IGUIObject::init(ScriptInterface& scriptInterface)