--- a/js/jsd/jsd_high.c
+++ b/js/jsd/jsd_high.c
@@ -85,16 +85,17 @@ static JSBool
static JSDContext*
_newJSDContext(JSRuntime* jsrt,
JSD_UserCallbacks* callbacks,
void* user,
JSObject* scopeobj)
{
JSDContext* jsdc = NULL;
+ JSCrossCompartmentCall *call = NULL;
if( ! jsrt )
return NULL;
if( ! _validateUserCallbacks(callbacks) )
return NULL;
jsdc = (JSDContext*) calloc(1, sizeof(JSDContext));
@@ -133,17 +134,16 @@ static JSDContext*
goto label_newJSDContext_failure;
jsdc->dumbContext = JS_NewContext(jsdc->jsrt, 256);
if( ! jsdc->dumbContext )
goto label_newJSDContext_failure;
JS_BeginRequest(jsdc->dumbContext);
- JSCrossCompartmentCall *call = NULL;
if( scopeobj )
call = JS_EnterCrossCompartmentCall(jsdc->dumbContext, scopeobj);
jsdc->glob = JS_NewGlobalObject(jsdc->dumbContext, &global_class);
if( call )
JS_LeaveCrossCompartmentCall(call);
if( ! jsdc->glob )
goto label_newJSDContext_failure;