Bug 338003 - imgCache::Init leaks imgCache if do_GetService fails. Patch by Adam Guthrie <ispiked@gmail.com>, r+sr=pavlov

This commit is contained in:
jwalden%mit.edu 2006-06-15 21:59:13 +00:00
Родитель dca4d1ab35
Коммит 6163084fd4
1 изменённых файлов: 9 добавлений и 7 удалений

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

@ -71,16 +71,18 @@ imgCache::~imgCache()
nsresult imgCache::Init()
{
nsresult rv;
nsCOMPtr<nsIObserverService> os = do_GetService("@mozilla.org/observer-service;1", &rv);
if (NS_FAILED(rv))
return rv;
imgCache* cache = new imgCache();
if(!cache) return NS_ERROR_OUT_OF_MEMORY;
nsCOMPtr<nsIObserverService> os = do_GetService("@mozilla.org/observer-service;1");
if (os) {
os->AddObserver(cache, "memory-pressure", PR_FALSE);
os->AddObserver(cache, "chrome-flush-skin-caches", PR_FALSE);
os->AddObserver(cache, "chrome-flush-caches", PR_FALSE);
}
os->AddObserver(cache, "memory-pressure", PR_FALSE);
os->AddObserver(cache, "chrome-flush-skin-caches", PR_FALSE);
os->AddObserver(cache, "chrome-flush-caches", PR_FALSE);
return NS_OK;
}