diff options
author | 2012-09-25 15:49:03 -0700 | |
---|---|---|
committer | 2012-09-25 15:49:03 -0700 | |
commit | 8a1374946a928fcba7495c87ff6adda327fdfb9f (patch) | |
tree | ab6b1d092aec1b19751e820c3e18a10c21a40759 /libs/hwui/ResourceCache.cpp | |
parent | 1ab8a08a9b85aa62045a6a78fd93859382c88b0f (diff) |
Deleting objects on the wrong thread is a silly idea
Bug #7195815
Turns out that multi-threading is hard.
Change-Id: Ib0b4bd6dc3caea27f7ced22cbb363bb955fe58ab
Diffstat (limited to 'libs/hwui/ResourceCache.cpp')
-rw-r--r-- | libs/hwui/ResourceCache.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libs/hwui/ResourceCache.cpp b/libs/hwui/ResourceCache.cpp index 18d8324b8488..39e64bce9c24 100644 --- a/libs/hwui/ResourceCache.cpp +++ b/libs/hwui/ResourceCache.cpp @@ -325,9 +325,9 @@ void ResourceCache::deleteResourceReferenceLocked(void* resource, ResourceRefere } break; case kLayer: { - Layer* layer = (Layer*) resource; - layer->freeResourcesLocked(); - delete layer; + // No need to check for hasInstance, layers only exist + // when we have a Caches instance + Caches::getInstance().deleteLayerDeferred((Layer*) resource); } break; } |