fix memory leaks opening and closing dbs r=mscott

This commit is contained in:
bienvenu%netscape.com 1999-10-15 00:11:58 +00:00
Родитель 9dfca9b674
Коммит 22e548da9d
4 изменённых файлов: 8 добавлений и 13 удалений

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

@ -51,6 +51,7 @@ nsAbAddressCollecter::~nsAbAddressCollecter()
{
m_historyAB->Commit(kSessionCommit);
m_historyAB->Close(PR_FALSE);
m_historyAB = null_nsCOMPtr();
}
}

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

@ -45,8 +45,6 @@ nsAbCard::~nsAbCard(void)
{
nsIAddrDBListener* listener = this;
mCardDatabase->RemoveListener(listener);
mCardDatabase->Close(PR_TRUE);
mCardDatabase = null_nsCOMPtr();
}

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

@ -163,11 +163,8 @@ nsAbCardProperty::~nsAbCardProperty(void)
RemoveAnonymousList(m_pAnonymousBoolValues);
if (mCardDatabase)
{
mCardDatabase->Close(PR_TRUE);
mCardDatabase = null_nsCOMPtr();
}
}
nsresult nsAbCardProperty::RemoveAnonymousList(nsVoidArray* pArray)
{

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

@ -172,7 +172,7 @@ nsAddrDatabase::~nsAddrDatabase()
delete m_ChangeListeners;
}
CleanupCache();
RemoveFromCache(this);
if (m_pAnonymousStrAttributes)
RemoveAnonymousList(m_pAnonymousStrAttributes);
@ -558,7 +558,7 @@ NS_IMETHODIMP nsAddrDatabase::Open
return NS_ERROR_OUT_OF_MEMORY;
}
pAddressBookDB->AddRef();
NS_ADDREF(pAddressBookDB);
err = pAddressBookDB->OpenMDB(pabName, create);
if (NS_SUCCEEDED(err))
@ -567,7 +567,6 @@ NS_IMETHODIMP nsAddrDatabase::Open
*pAddrDB = pAddressBookDB;
if (pAddressBookDB)
GetDBCache()->AppendElement(pAddressBookDB);
NS_IF_ADDREF(*pAddrDB);
}
else
{
@ -721,6 +720,11 @@ NS_IMETHODIMP nsAddrDatabase::CloseMDB(PRBool commit)
{
if (commit)
Commit(kSessionCommit);
if (m_mdbStore)
{
m_mdbStore->CloseMdbObject(m_mdbEnv);
m_mdbStore = nsnull;
}
return NS_OK;
}
@ -765,11 +769,6 @@ NS_IMETHODIMP nsAddrDatabase::ForceClosed()
RemoveFromCache(this);
err = CloseMDB(PR_FALSE); // since we're about to delete it, no need to commit.
if (m_mdbStore)
{
m_mdbStore->CloseMdbObject(m_mdbEnv);
m_mdbStore = nsnull;
}
Release();
return err;
}