Bug 778557 - "Assertion failure: !args.rval().isPrimitive() && callee != &args.rval().toObject()". r=jimb.

This commit is contained in:
Jason Orendorff
2012-09-12 11:00:08 -05:00
parent 0c0b71055b
commit a360d36373
3 changed files with 18 additions and 8 deletions

View File

@@ -752,8 +752,8 @@ js_ThrowStopIteration(JSContext *cx)
/*** Iterator objects ****************************************************************************/
static JSBool
Iterator(JSContext *cx, unsigned argc, Value *vp)
JSBool
js::IteratorConstructor(JSContext *cx, unsigned argc, Value *vp)
{
CallArgs args = CallArgsFromVp(argc, vp);
if (args.length() == 0) {
@@ -1777,7 +1777,8 @@ GlobalObject::initIteratorClasses(JSContext *cx, Handle<GlobalObject *> global)
iteratorProto->asPropertyIterator().setNativeIterator(ni);
Rooted<JSFunction*> ctor(cx, global->createConstructor(cx, Iterator, CLASS_NAME(cx, Iterator), 2));
Rooted<JSFunction*> ctor(cx, global->createConstructor(cx, IteratorConstructor,
CLASS_NAME(cx, Iterator), 2));
if (!ctor)
return false;
if (!LinkConstructorAndPrototype(cx, ctor, iteratorProto))