bug 329884, keep reference when removing builder, r+sr=bz

This commit is contained in:
enndeakin%sympatico.ca 2006-03-09 17:13:35 +00:00
parent 5e1c663cf4
commit 472ec2a4eb

View File

@ -887,6 +887,8 @@ nsXULTemplateBuilder::ContentRemoved(nsIDocument* aDocument,
PRInt32 aIndexInContainer)
{
if (mRoot && nsContentUtils::ContentIsDescendantOf(mRoot, aChild)) {
nsRefPtr<nsXULTemplateBuilder> kungFuDeathGrip(this);
if (mQueryProcessor)
mQueryProcessor->Done();
@ -897,7 +899,7 @@ nsXULTemplateBuilder::ContentRemoved(nsIDocument* aDocument,
nsCOMPtr<nsIXULDocument> xuldoc = do_QueryInterface(aDocument);
if (xuldoc)
xuldoc->SetTemplateBuilderFor(aChild, nsnull);
xuldoc->SetTemplateBuilderFor(mRoot, nsnull);
mDB = nsnull;
mCompDB = nsnull;