mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-12 18:50:08 +00:00
Fumbling around trying to fix 800K leak.
This commit is contained in:
parent
85ce86aeb0
commit
b6dec09958
@ -1923,7 +1923,14 @@ nsXULElement::GetScriptObject(nsIScriptContext* aContext, void** aScriptObject)
|
||||
aContext->AddNamedReference((void*) &mScriptObject, mScriptObject, rootname);
|
||||
}
|
||||
|
||||
*aScriptObject = mScriptObject;
|
||||
void* object = nsnull;
|
||||
if (Binding()) {
|
||||
nsCOMPtr<nsIScriptObjectOwner> owner(do_QueryInterface(Binding()));
|
||||
owner->GetScriptObject(aContext, &object);
|
||||
}
|
||||
|
||||
*aScriptObject = object ? object : mScriptObject;
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
@ -2156,6 +2163,8 @@ nsXULElement::SetDocument(nsIDocument* aDocument, PRBool aDeep)
|
||||
global->GetContext(getter_AddRefs(context));
|
||||
if (context) {
|
||||
context->RemoveReference((void*) &mScriptObject, mScriptObject);
|
||||
if (Binding())
|
||||
Binding()->RemoveScriptReferences(context);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1923,7 +1923,14 @@ nsXULElement::GetScriptObject(nsIScriptContext* aContext, void** aScriptObject)
|
||||
aContext->AddNamedReference((void*) &mScriptObject, mScriptObject, rootname);
|
||||
}
|
||||
|
||||
*aScriptObject = mScriptObject;
|
||||
void* object = nsnull;
|
||||
if (Binding()) {
|
||||
nsCOMPtr<nsIScriptObjectOwner> owner(do_QueryInterface(Binding()));
|
||||
owner->GetScriptObject(aContext, &object);
|
||||
}
|
||||
|
||||
*aScriptObject = object ? object : mScriptObject;
|
||||
|
||||
return rv;
|
||||
}
|
||||
|
||||
@ -2156,6 +2163,8 @@ nsXULElement::SetDocument(nsIDocument* aDocument, PRBool aDeep)
|
||||
global->GetContext(getter_AddRefs(context));
|
||||
if (context) {
|
||||
context->RemoveReference((void*) &mScriptObject, mScriptObject);
|
||||
if (Binding())
|
||||
Binding()->RemoveScriptReferences(context);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user