Set up the pseudo frame more carefully. bug 354978, r=brendan

This commit is contained in:
mrbkap%gmail.com 2006-11-07 05:09:53 +00:00
Родитель bd845f6b33
Коммит 7b5b6ae191
1 изменённых файлов: 2 добавлений и 0 удалений

Просмотреть файл

@ -366,12 +366,14 @@ js_watch_set(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
*/ */
JSObject *funobj = (JSObject *) wp->closure; JSObject *funobj = (JSObject *) wp->closure;
JSFunction *fun = (JSFunction *) JS_GetPrivate(cx, funobj); JSFunction *fun = (JSFunction *) JS_GetPrivate(cx, funobj);
jsval argv[2] = { OBJECT_TO_JSVAL(funobj), JSVAL_NULL };
JSStackFrame frame; JSStackFrame frame;
memset(&frame, 0, sizeof(frame)); memset(&frame, 0, sizeof(frame));
frame.script = FUN_SCRIPT(fun); frame.script = FUN_SCRIPT(fun);
frame.fun = fun; frame.fun = fun;
frame.down = cx->fp; frame.down = cx->fp;
frame.argv = argv + 2;
cx->fp = &frame; cx->fp = &frame;
ok = !wp->setter || ok = !wp->setter ||
((sprop->attrs & JSPROP_SETTER) ((sprop->attrs & JSPROP_SETTER)