Bug 412127: Canceling extension installation leaks nsXPITriggerInfo and

nsXPITriggerItem. r=dveditz, sr=sicking


git-svn-id: svn://10.0.0.236/trunk@244167 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
dtownsend%oxymoronical.com
2008-01-27 23:43:17 +00:00
parent a6cd02fa4f
commit 9c391a3792
2 changed files with 5 additions and 12 deletions

View File

@@ -361,14 +361,8 @@ nsXPInstallManager::InitManagerInternal()
if ( cbstatus != 0 )
{
// --- inform callbacks of error
for (PRUint32 i = 0; i < mTriggers->Size(); i++)
{
mTriggers->SendStatus( mTriggers->Get(i)->mURL.get(), cbstatus );
}
// --- must delete ourselves if not continuing
NS_RELEASE_THIS();
// --- must shutdown if not continuing
Shutdown( cbstatus );
}
return rv;
@@ -869,7 +863,7 @@ PRBool nsXPInstallManager::VerifyHash(nsXPITriggerItem* aItem)
}
void nsXPInstallManager::Shutdown()
void nsXPInstallManager::Shutdown(PRInt32 status)
{
if (mDlg)
{
@@ -890,8 +884,7 @@ void nsXPInstallManager::Shutdown()
item = (nsXPITriggerItem*)mTriggers->Get(mNextItem++);
if ( item && !item->mURL.IsEmpty() )
{
mTriggers->SendStatus( item->mURL.get(),
nsInstall::USER_CANCELLED );
mTriggers->SendStatus( item->mURL.get(), status );
}
}