зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
dca4d1ab35
Коммит
6163084fd4
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче