diff --git a/libraries/script-engine/src/ScriptValue.cpp b/libraries/script-engine/src/ScriptValue.cpp index df9729e3ae..ac9bc774f1 100644 --- a/libraries/script-engine/src/ScriptValue.cpp +++ b/libraries/script-engine/src/ScriptValue.cpp @@ -13,7 +13,7 @@ #include "ScriptEngineLogging.h" - +//V8TODO name is misleading, it's actually undefined class ScriptValueProxyNull final : public ScriptValueProxy { public: virtual void release() override; diff --git a/libraries/script-engine/src/v8/ScriptContextV8Wrapper.cpp b/libraries/script-engine/src/v8/ScriptContextV8Wrapper.cpp index 802ca660da..3a37c82bd7 100644 --- a/libraries/script-engine/src/v8/ScriptContextV8Wrapper.cpp +++ b/libraries/script-engine/src/v8/ScriptContextV8Wrapper.cpp @@ -50,9 +50,9 @@ int ScriptContextV8Wrapper::argumentCount() const { //Q_ASSERT(_functionCallbackInfo);A // V8TODO if (_functionCallbackInfo) { - return _functionCallbackInfo->kArgsLength; + return _functionCallbackInfo->Length(); } else if (_propertyCallbackInfo) { - return _propertyCallbackInfo->kArgsLength; + return 0; } else { return Q_METAMETHOD_INVOKE_MAX_ARGS; } diff --git a/libraries/script-engine/src/v8/ScriptEngineV8.cpp b/libraries/script-engine/src/v8/ScriptEngineV8.cpp index 4eca0ac8a1..835a57e460 100644 --- a/libraries/script-engine/src/v8/ScriptEngineV8.cpp +++ b/libraries/script-engine/src/v8/ScriptEngineV8.cpp @@ -1157,7 +1157,9 @@ ScriptValue ScriptEngineV8::newFunction(ScriptEngine::FunctionSignature fun, int //V8TODO: this scriptContext needs to have FunctionCallbackInfo added ScriptValue result = function(&scriptContext, scriptEngine); ScriptValueV8Wrapper* unwrapped = ScriptValueV8Wrapper::unwrap(result); - info.GetReturnValue().Set(unwrapped->toV8Value().constGet()); + if (unwrapped) { + info.GetReturnValue().Set(unwrapped->toV8Value().constGet()); + } }; //auto functionTemplate = v8::FunctionTemplate::New(_v8Isolate, v8FunctionCallback, v8::Local(), v8::Local(), length); //auto functionData = v8::Object::New(_v8Isolate);