diff --git a/source/scriptinterface/ScriptInterface.cpp b/source/scriptinterface/ScriptInterface.cpp index 2c3611ec27..e610b31aa2 100644 --- a/source/scriptinterface/ScriptInterface.cpp +++ b/source/scriptinterface/ScriptInterface.cpp @@ -571,7 +571,7 @@ JSObject* ScriptInterface::CreateCustomObject(const std::string& typeName) const throw PSERROR_Scripting_TypeDoesNotExist(); JS::RootedObject prototype(m->m_cx, it->second.m_Prototype.get()); - return JS_NewObject(m->m_cx, (*it).second.m_Class, prototype, JS::NullPtr()); + return JS_NewObjectWithGivenProto(m->m_cx, it->second.m_Class, prototype); } bool ScriptInterface::CallFunctionVoid(JS::HandleValue val, const char* name) diff --git a/source/simulation2/scripting/EngineScriptConversions.cpp b/source/simulation2/scripting/EngineScriptConversions.cpp index 5389eb68b3..02661b21a6 100644 --- a/source/simulation2/scripting/EngineScriptConversions.cpp +++ b/source/simulation2/scripting/EngineScriptConversions.cpp @@ -182,7 +182,7 @@ template<> void ScriptInterface::ToJSVal(JSContext* cx, JS::Muta // apply the Vector3D prototype to the return value; ScriptInterface::CxPrivate* pCxPrivate = ScriptInterface::GetScriptInterfaceAndCBData(cx); JS::RootedObject proto(cx, &pCxPrivate->pScriptInterface->GetCachedValue(ScriptInterface::CACHE_VECTOR3DPROTO).toObject()); - JS::RootedObject obj(cx, JS_NewObject(cx, nullptr, proto, JS::NullPtr())); + JS::RootedObject obj(cx, JS_NewObjectWithGivenProto(cx, nullptr, proto)); if (!obj) { @@ -229,7 +229,7 @@ template<> void ScriptInterface::ToJSVal(JSContext* cx, JS::Muta // apply the Vector2D prototype to the return value ScriptInterface::CxPrivate* pCxPrivate = ScriptInterface::GetScriptInterfaceAndCBData(cx); JS::RootedObject proto(cx, &pCxPrivate->pScriptInterface->GetCachedValue(ScriptInterface::CACHE_VECTOR2DPROTO).toObject()); - JS::RootedObject obj(cx, JS_NewObject(cx, nullptr, proto, JS::NullPtr())); + JS::RootedObject obj(cx, JS_NewObjectWithGivenProto(cx, nullptr, proto)); if (!obj) { ret.setUndefined();