зеркало из https://github.com/mozilla/pjs.git
GlobalWindowImpl::SetNewDocument: fixed multiple initialization of JSContext. Always clears the scope first.
This commit is contained in:
Родитель
f951d14663
Коммит
60318f70d0
|
@ -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) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче