Deleting objects on the wrong thread is a silly idea
Bug #7195815
Turns out that multi-threading is hard.
Change-Id: Ib0b4bd6dc3caea27f7ced22cbb363bb955fe58ab
diff --git a/libs/hwui/ResourceCache.cpp b/libs/hwui/ResourceCache.cpp
index 18d8324..39e64bc 100644
--- a/libs/hwui/ResourceCache.cpp
+++ b/libs/hwui/ResourceCache.cpp
@@ -325,9 +325,9 @@
}
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;
}