Bug 516237, r=enndeakin, sr=neil

--HG--
extra : rebase_source : 44179b032971ced59a7d5af9e59724b9d32c41dc
This commit is contained in:
Olli Pettay 2009-09-15 11:55:29 +03:00
parent b808c44f50
commit 8880343068
2 changed files with 8 additions and 5 deletions

View File

@ -272,7 +272,7 @@ nsTreeSelection::~nsTreeSelection()
mSelectTimer->Cancel();
}
NS_IMPL_CYCLE_COLLECTION_1(nsTreeSelection, mCurrentColumn)
NS_IMPL_CYCLE_COLLECTION_2(nsTreeSelection, mTree, mCurrentColumn)
NS_IMPL_CYCLE_COLLECTING_ADDREF(nsTreeSelection)
NS_IMPL_CYCLE_COLLECTING_RELEASE(nsTreeSelection)
@ -286,8 +286,7 @@ NS_INTERFACE_MAP_END
NS_IMETHODIMP nsTreeSelection::GetTree(nsITreeBoxObject * *aTree)
{
NS_IF_ADDREF(mTree);
*aTree = mTree;
NS_IF_ADDREF(*aTree = mTree);
return NS_OK;
}
@ -297,7 +296,11 @@ NS_IMETHODIMP nsTreeSelection::SetTree(nsITreeBoxObject * aTree)
mSelectTimer->Cancel();
mSelectTimer = nsnull;
}
mTree = aTree; // WEAK
// Make sure aTree really implements nsITreeBoxObject and nsIBoxObject!
nsCOMPtr<nsIBoxObject> bo = do_QueryInterface(aTree);
mTree = do_QueryInterface(bo);
NS_ENSURE_STATE(mTree == aTree);
return NS_OK;
}

View File

@ -68,7 +68,7 @@ protected:
protected:
// Members
nsITreeBoxObject* mTree; // [Weak]. The tree will hold on to us through the view and let go when it dies.
nsCOMPtr<nsITreeBoxObject> mTree; // The tree will hold on to us through the view and let go when it dies.
PRBool mSuppressed; // Whether or not we should be firing onselect events.
PRInt32 mCurrentIndex; // The item to draw the rect around. The last one clicked, etc.