GlobalWindowImpl::SetNewDocument: fixed multiple initialization of JSContext. Always clears the scope first.

This commit is contained in:
beard%netscape.com 1999-04-02 06:22:00 +00:00
Родитель f951d14663
Коммит 60318f70d0
1 изменённых файлов: 10 добавлений и 11 удалений

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

@ -213,20 +213,19 @@ GlobalWindowImpl::SetContext(nsIScriptContext *aContext)
NS_IMETHODIMP_(void) NS_IMETHODIMP_(void)
GlobalWindowImpl::SetNewDocument(nsIDOMDocument *aDocument) GlobalWindowImpl::SetNewDocument(nsIDOMDocument *aDocument)
{ {
if (nsnull != mDocument) { ClearAllTimeouts();
ClearAllTimeouts();
if (nsnull != mScriptObject && nsnull != mContext) { if (nsnull != mScriptObject && nsnull != mContext) {
JS_ClearScope((JSContext *)mContext->GetNativeContext(), JS_ClearScope((JSContext *)mContext->GetNativeContext(),
(JSObject *)mScriptObject); (JSObject *)mScriptObject);
}
NS_RELEASE(mDocument);
if (nsnull != mContext) {
mContext->GC();
}
} }
if (nsnull != mDocument)
NS_RELEASE(mDocument);
if (nsnull != mContext)
mContext->GC();
mDocument = aDocument; mDocument = aDocument;
if (nsnull != mDocument) { if (nsnull != mDocument) {