Bug 417840 - "ASSERTION: Shouldn't be observing anymore" removing 'ref' attribute. r+sr=jst, a=blocking1.9+.

This commit is contained in:
bent.mozilla@gmail.com 2008-02-19 14:21:45 -08:00
Родитель e3bf89b6d1
Коммит b571b38a20
1 изменённых файлов: 5 добавлений и 12 удалений

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

@ -218,6 +218,11 @@ nsXULTemplateBuilder::InitGlobals()
void
nsXULTemplateBuilder::Uninit(PRBool aIsFinal)
{
if (mObservedDocument) {
gObserverService->RemoveObserver(this, DOM_WINDOW_DESTROYED_TOPIC);
mObservedDocument = nsnull;
}
if (mQueryProcessor)
mQueryProcessor->Done();
@ -236,8 +241,6 @@ nsXULTemplateBuilder::Uninit(PRBool aIsFinal)
mMemberVariable = nsnull;
mQueriesCompiled = PR_FALSE;
NS_ASSERTION(!mObservedDocument, "Shouldn't be observing anymore!");
}
static PLDHashOperator
@ -1107,11 +1110,6 @@ nsXULTemplateBuilder::ContentRemoved(nsIDocument* aDocument,
if (mRoot && nsContentUtils::ContentIsDescendantOf(mRoot, aChild)) {
nsRefPtr<nsXULTemplateBuilder> kungFuDeathGrip(this);
if (mObservedDocument) {
gObserverService->RemoveObserver(this, DOM_WINDOW_DESTROYED_TOPIC);
mObservedDocument = nsnull;
}
if (mQueryProcessor)
mQueryProcessor->Done();
@ -1146,11 +1144,6 @@ nsXULTemplateBuilder::NodeWillBeDestroyed(const nsINode* aNode)
// |this|, so hold another reference.
nsRefPtr<nsXULTemplateBuilder> kungFuDeathGrip(this);
if (mObservedDocument) {
gObserverService->RemoveObserver(this, DOM_WINDOW_DESTROYED_TOPIC);
mObservedDocument = nsnull;
}
// Break circular references
if (mQueryProcessor)
mQueryProcessor->Done();