Hold a strong ref on the script context while its JSContext is on the stack. b=380512 r+sr=jst

This commit is contained in:
mats.palmgren@bredband.net 2007-07-10 06:53:01 -07:00
Родитель 236ce0274e
Коммит 00db5830ff
1 изменённых файлов: 2 добавлений и 0 удалений

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

@ -277,6 +277,7 @@ public:
protected:
nsCOMPtr<nsIThreadJSContextStack> mService;
JSContext *mContext;
nsCOMPtr<nsIScriptContext> mContextKungFuDeathGrip;
};
JSContextAutoPopper::JSContextAutoPopper() : mContext(nsnull)
@ -309,6 +310,7 @@ nsresult JSContextAutoPopper::Push(JSContext *cx)
// Save cx in mContext to indicate need to pop.
if (cx && NS_SUCCEEDED(mService->Push(cx))) {
mContext = cx;
mContextKungFuDeathGrip = nsWWJSUtils::GetDynamicScriptContext(cx);
}
}
return mContext ? NS_OK : NS_ERROR_FAILURE;