diff --git a/src/sbbs3/js_internal.c b/src/sbbs3/js_internal.c index 605477d5d57cfe82a6e69bb87a130c00c001757c..5fe1f7ce804a896e119c5155ac4fe5fb28a35b61 100644 --- a/src/sbbs3/js_internal.c +++ b/src/sbbs3/js_internal.c @@ -217,6 +217,7 @@ js_eval(JSContext *parent_cx, JSObject *parent_obj, uintN argc, jsval *argv, jsv JSObject* obj; js_branch_t* branch; JSErrorReporter reporter; + JSBranchCallback callback; *rval=JSVAL_VOID; @@ -233,15 +234,12 @@ js_eval(JSContext *parent_cx, JSObject *parent_obj, uintN argc, jsval *argv, jsv return(JS_FALSE); /* Use the error reporter from the parent context */ -#ifdef jscntxt_h___ - reporter=parent_cx->errorReporter; -#else JS_SetErrorReporter(parent_cx,(reporter=JS_SetErrorReporter(parent_cx,NULL))); -#endif JS_SetErrorReporter(cx,reporter); -#ifdef jscntxt_h___ - JS_SetBranchCallback(cx, parent_cx->branchCallback); +#if 1 + JS_SetContextPrivate(cx, JS_GetContextPrivate(parent_cx)); + JS_SetBranchCallback(cx, (callback=JS_SetBranchCallback(parent_cx,NULL))); #else JS_SetContextPrivate(cx,branch); JS_SetBranchCallback(cx, js_BranchCallback);