Bug 251257 - Memory leak in nsXULTreeAccessible.cpp.

r=aaronleventhal@moonset.net, sr=darin@meer.net
This commit is contained in:
pkw%us.ibm.com 2004-07-26 23:27:10 +00:00
parent d1543f2e7a
commit 856ba4f11d
2 changed files with 14 additions and 9 deletions

View File

@ -68,14 +68,6 @@ mAccessNodeCache(nsnull)
mAccessNodeCache->Init(kDefaultTreeCacheSize);
}
nsXULTreeAccessible::~nsXULTreeAccessible()
{
if (mAccessNodeCache) {
ClearCache(*mAccessNodeCache);
mAccessNodeCache = nsnull;
}
}
NS_IMPL_ISUPPORTS_INHERITED1(nsXULTreeAccessible, nsXULSelectableAccessible, nsIAccessibleTreeCache)
@ -160,6 +152,18 @@ NS_IMETHODIMP nsXULTreeAccessible::GetValue(nsAString& _retval)
return NS_OK;
}
NS_IMETHODIMP nsXULTreeAccessible::Shutdown()
{
nsXULSelectableAccessible::Shutdown();
if (mAccessNodeCache) {
ClearCache(*mAccessNodeCache);
delete mAccessNodeCache;
mAccessNodeCache = nsnull;
}
return NS_OK;
}
NS_IMETHODIMP nsXULTreeAccessible::GetRole(PRUint32 *_retval)
{
*_retval = ROLE_OUTLINE;

View File

@ -60,9 +60,10 @@ public:
NS_DECL_NSIACCESSIBLETREECACHE
nsXULTreeAccessible(nsIDOMNode* aDOMNode, nsIWeakReference* aShell);
virtual ~nsXULTreeAccessible();
virtual ~nsXULTreeAccessible() {};
/* ----- nsIAccessible ----- */
NS_IMETHOD Shutdown();
NS_IMETHOD GetRole(PRUint32 *_retval);
NS_IMETHOD GetState(PRUint32 *_retval);
NS_IMETHOD GetValue(nsAString& _retval);