diff options
author | 2011-06-22 16:14:36 -0700 | |
---|---|---|
committer | 2011-06-22 17:10:00 -0700 | |
commit | d586ad9c9fec80aa1d24d6b53cd2c8d5b47fe868 (patch) | |
tree | 285a0e4d4d7b471a8a3c8e41957283dcb9f09f43 /libs/hwui/ResourceCache.cpp | |
parent | 83c033de06cd2af243ecf8e2c4b87cd2de2b786e (diff) |
Fix another memory leak in OpenGLRenderer
Change-Id: I23ed56891452a05cf3ca13f6919c4fef90d5ff4e
Diffstat (limited to 'libs/hwui/ResourceCache.cpp')
-rw-r--r-- | libs/hwui/ResourceCache.cpp | 27 |
1 files changed, 8 insertions, 19 deletions
diff --git a/libs/hwui/ResourceCache.cpp b/libs/hwui/ResourceCache.cpp index 9aade5175c56..cd2c40506869 100644 --- a/libs/hwui/ResourceCache.cpp +++ b/libs/hwui/ResourceCache.cpp @@ -48,9 +48,6 @@ ResourceCache::~ResourceCache() { void ResourceCache::incrementRefcount(void* resource, ResourceType resourceType) { Mutex::Autolock _l(mLock); - for (size_t i = 0; i < mCache->size(); ++i) { - void* ref = mCache->valueAt(i); - } ResourceReference* ref = mCache->indexOfKey(resource) >= 0 ? mCache->valueFor(resource) : NULL; if (ref == NULL || mCache->size() == 0) { ref = new ResourceReference(resourceType); @@ -144,7 +141,6 @@ void ResourceCache::destructor(SkPath* resource) { ref->destroyed = true; if (ref->refCount == 0) { deleteResourceReference(resource, ref); - return; } } @@ -162,7 +158,6 @@ void ResourceCache::destructor(SkBitmap* resource) { ref->destroyed = true; if (ref->refCount == 0) { deleteResourceReference(resource, ref); - return; } } @@ -180,7 +175,6 @@ void ResourceCache::destructor(SkiaShader* resource) { ref->destroyed = true; if (ref->refCount == 0) { deleteResourceReference(resource, ref); - return; } } @@ -195,7 +189,6 @@ void ResourceCache::destructor(SkiaColorFilter* resource) { ref->destroyed = true; if (ref->refCount == 0) { deleteResourceReference(resource, ref); - return; } } @@ -209,36 +202,32 @@ void ResourceCache::deleteResourceReference(void* resource, ResourceReference* r } if (ref->destroyed) { switch (ref->resourceType) { - case kBitmap: - { - SkBitmap* bitmap = (SkBitmap*)resource; + case kBitmap: { + SkBitmap* bitmap = (SkBitmap*) resource; if (Caches::hasInstance()) { Caches::getInstance().textureCache.removeDeferred(bitmap); } delete bitmap; } break; - case kPath: - { - SkPath* path = (SkPath*)resource; + case kPath: { + SkPath* path = (SkPath*) resource; if (Caches::hasInstance()) { Caches::getInstance().pathCache.removeDeferred(path); } delete path; } break; - case kShader: - { - SkiaShader* shader = (SkiaShader*)resource; + case kShader: { + SkiaShader* shader = (SkiaShader*) resource; if (Caches::hasInstance()) { Caches::getInstance().gradientCache.removeDeferred(shader->getSkShader()); } delete shader; } break; - case kColorFilter: - { - SkiaColorFilter* filter = (SkiaColorFilter*)resource; + case kColorFilter: { + SkiaColorFilter* filter = (SkiaColorFilter*) resource; delete filter; } break; |