There might be a pushed context but no running code. bug 413200, r+sr=jst a=blocking-1.9+

This commit is contained in:
mrbkap@gmail.com 2008-01-28 15:10:30 -08:00
Родитель 569c86f6e4
Коммит ba209417c4
1 изменённых файлов: 6 добавлений и 4 удалений

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

@ -503,10 +503,12 @@ nsXPCWrappedJSClass::IsWrappedJS(nsISupports* aPtr)
static JSContext * static JSContext *
GetContextFromObject(JSObject *obj) GetContextFromObject(JSObject *obj)
{ {
// Don't stomp over running code. // Don't stomp over a running context.
nsAXPCNativeCallContext *cc = nsnull; XPCJSContextStack* stack =
nsXPConnect::GetXPConnect()->GetCurrentNativeCallContext(&cc); XPCPerThreadData::GetData(nsnull)->GetJSContextStack();
if(cc) JSContext* topJSContext;
if(stack && NS_SUCCEEDED(stack->Peek(&topJSContext)) && topJSContext)
return nsnull; return nsnull;
// In order to get a context, we need a context. // In order to get a context, we need a context.