diff --git a/mozilla/js/src/jsobj.c b/mozilla/js/src/jsobj.c index bd2547d5b87..b2ec1a3448c 100644 --- a/mozilla/js/src/jsobj.c +++ b/mozilla/js/src/jsobj.c @@ -1132,11 +1132,8 @@ obj_eval(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) rt = cx->runtime; if (rt->findObjectPrincipals) { scopePrincipals = rt->findObjectPrincipals(cx, scopeobj); - if (scopePrincipals != principals) { - JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, - JSMSG_BAD_INDIRECT_CALL, js_eval_str); - return JS_FALSE; - } + if (scopePrincipals != principals) + scopeobj = OBJ_GET_PARENT(cx, JSVAL_TO_OBJECT(argv[-2])); } ok = js_Execute(cx, scopeobj, script, caller, JSFRAME_EVAL, rval);