From 8a1374946a928fcba7495c87ff6adda327fdfb9f Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Tue, 25 Sep 2012 15:49:03 -0700 Subject: Deleting objects on the wrong thread is a silly idea Bug #7195815 Turns out that multi-threading is hard. Change-Id: Ib0b4bd6dc3caea27f7ced22cbb363bb955fe58ab --- libs/hwui/ResourceCache.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libs/hwui/ResourceCache.cpp') 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; } -- cgit v1.2.3-59-g8ed1b