зеркало из 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)
|
||||
GlobalWindowImpl::SetNewDocument(nsIDOMDocument *aDocument)
|
||||
{
|
||||
if (nsnull != mDocument) {
|
||||
ClearAllTimeouts();
|
||||
ClearAllTimeouts();
|
||||
|
||||
if (nsnull != mScriptObject && nsnull != mContext) {
|
||||
JS_ClearScope((JSContext *)mContext->GetNativeContext(),
|
||||
(JSObject *)mScriptObject);
|
||||
}
|
||||
|
||||
NS_RELEASE(mDocument);
|
||||
if (nsnull != mContext) {
|
||||
mContext->GC();
|
||||
}
|
||||
if (nsnull != mScriptObject && nsnull != mContext) {
|
||||
JS_ClearScope((JSContext *)mContext->GetNativeContext(),
|
||||
(JSObject *)mScriptObject);
|
||||
}
|
||||
|
||||
if (nsnull != mDocument)
|
||||
NS_RELEASE(mDocument);
|
||||
|
||||
if (nsnull != mContext)
|
||||
mContext->GC();
|
||||
|
||||
mDocument = aDocument;
|
||||
|
||||
if (nsnull != mDocument) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче