diff --git a/src/scripting/smjs/action_object.c b/src/scripting/smjs/action_object.c index db3203f7..acc6110e 100644 --- a/src/scripting/smjs/action_object.c +++ b/src/scripting/smjs/action_object.c @@ -54,7 +54,7 @@ smjs_action_fn_callback(JSContext *ctx, uintN argc, jsval *rval) value = JSVAL_FALSE; - if (JS_TRUE != JS_ValueToObject(ctx, argv[-2], &fn_obj)) { + if (JS_TRUE != JS_ValueToObject(ctx, JS_CALLEE(ctx, rval), &fn_obj)) { JS_SET_RVAL(ctx, rval, value); return JS_TRUE; } diff --git a/src/scripting/smjs/session_object.c b/src/scripting/smjs/session_object.c index e03e66fc..89a15dae 100644 --- a/src/scripting/smjs/session_object.c +++ b/src/scripting/smjs/session_object.c @@ -671,7 +671,7 @@ smjs_session_goto_url(JSContext *ctx, uintN argc, jsval *rval) if (argc != 1) return JS_FALSE; - this = jsval_to_object(ctx, &argv[-1]); + this = JS_THIS_OBJECT(ctx, rval); if (!JS_InstanceOf(ctx, this, (JSClass *) &session_class, NULL)) return JS_FALSE;