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
Родитель d0cb8b7ca7
Коммит ede517d088
1 изменённых файлов: 6 добавлений и 4 удалений

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

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