Exact stack rooting for ScriptInterface::FreezeObject.

Refs #2415

This was SVN commit r15622.
This commit is contained in:
Yves
2014-08-08 11:59:49 +00:00
parent 7471662ddc
commit 9872f5741f
3 changed files with 8 additions and 6 deletions
+6 -4
View File
@@ -1135,16 +1135,18 @@ bool ScriptInterface::SetPrototype(JS::HandleValue obj, JS::HandleValue proto)
return JS_SetPrototype(m->m_cx, &obj.toObject(), &proto.toObject());
}
bool ScriptInterface::FreezeObject(jsval obj, bool deep)
bool ScriptInterface::FreezeObject(JS::HandleValue objVal, bool deep)
{
JSAutoRequest rq(m->m_cx);
if (!obj.isObject())
if (!objVal.isObject())
return false;
JS::RootedObject obj(m->m_cx, &objVal.toObject());
if (deep)
return JS_DeepFreezeObject(m->m_cx, &obj.toObject());
return JS_DeepFreezeObject(m->m_cx, obj);
else
return JS_FreezeObject(m->m_cx, &obj.toObject());
return JS_FreezeObject(m->m_cx, obj);
}
bool ScriptInterface::LoadScript(const VfsPath& filename, const std::string& code)