Fixing leaks in the exception service. Bug 108213. r=dbradley@netscape.com, sr=jband@netscape.com

git-svn-id: svn://10.0.0.236/trunk@107180 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
jst%netscape.com
2001-11-03 02:07:20 +00:00
parent 4aaa66afe8
commit ab9c4205b6

View File

@@ -139,15 +139,6 @@ NS_IMETHODIMP nsExceptionManager::GetExceptionFromProvider(nsresult rc, nsIExcep
}
/* The Exception Service */
class ProviderInfo {
public:
ProviderInfo(nsIExceptionProvider *_rep, PRUint32 _mod) :
provider(_rep), errorModule(_mod) {}
nsCOMPtr<nsIExceptionProvider> provider;
PRUint32 errorModule;
};
PRUintn nsExceptionService::tlsIndex = BAD_TLS_INDEX;
PRLock *nsExceptionService::lock = PR_FALSE;
@@ -267,9 +258,6 @@ NS_IMETHODIMP nsExceptionService::GetCurrentExceptionManager(nsIExceptionManager
NS_IMETHODIMP nsExceptionService::RegisterExceptionProvider(nsIExceptionProvider *provider, PRUint32 errorModule)
{
CHECK_SERVICE_USE_OK();
ProviderInfo *pi = new ProviderInfo(provider, errorModule);
if (pi==nsnull)
return NS_ERROR_OUT_OF_MEMORY;
nsProviderKey key(errorModule);
if (mProviders.Put(&key, provider)) {
@@ -304,7 +292,7 @@ nsExceptionService::DoGetExceptionFromProvider(nsresult errCode,
{
nsProviderKey key(NS_ERROR_GET_MODULE(errCode));
nsCOMPtr<nsIExceptionProvider> provider =
(nsIExceptionProvider *)mProviders.Get(&key);
dont_AddRef((nsIExceptionProvider *)mProviders.Get(&key));
// No provider so we'll return the default exception
if (!provider) {