summaryrefslogtreecommitdiff
path: root/libs/hwui/ResourceCache.cpp
diff options
context:
space:
mode:
authorStan Iliev <stani@google.com>2018-08-30 18:56:41 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-08-30 18:56:41 +0000
commite6cfb09cc4938078d14b1b4abca1678ac8fb170c (patch)
treec71f82bc74a53be28d30c88ca3b8f84b666578de /libs/hwui/ResourceCache.cpp
parentc72888de5dec8327da3d1a8d328f2c92a629d91e (diff)
parent867c43de0544217d26c3ee18f4d6603bb2ea97ce (diff)
Merge "Revert "TextureView Vulkan support and optimized OpenGL draw""
Diffstat (limited to 'libs/hwui/ResourceCache.cpp')
-rw-r--r--libs/hwui/ResourceCache.cpp23
1 files changed, 16 insertions, 7 deletions
diff --git a/libs/hwui/ResourceCache.cpp b/libs/hwui/ResourceCache.cpp
index 65bee476f14d..464a58d0c0f8 100644
--- a/libs/hwui/ResourceCache.cpp
+++ b/libs/hwui/ResourceCache.cpp
@@ -15,6 +15,7 @@
*/
#include "ResourceCache.h"
+#include "Caches.h"
namespace android {
@@ -111,9 +112,13 @@ void ResourceCache::destructorLocked(Res_png_9patch* resource) {
ResourceReference* ref = index >= 0 ? mCache->valueAt(index) : nullptr;
if (ref == nullptr) {
// If we're not tracking this resource, just delete it
- // A Res_png_9patch is actually an array of byte that's larger
- // than sizeof(Res_png_9patch). It must be freed as an array.
- delete[](int8_t*) resource;
+ if (Caches::hasInstance()) {
+ // DEAD CODE
+ } else {
+ // A Res_png_9patch is actually an array of byte that's larger
+ // than sizeof(Res_png_9patch). It must be freed as an array.
+ delete[](int8_t*) resource;
+ }
return;
}
ref->destroyed = true;
@@ -130,10 +135,14 @@ void ResourceCache::deleteResourceReferenceLocked(const void* resource, Resource
if (ref->destroyed) {
switch (ref->resourceType) {
case kNinePatch: {
- // A Res_png_9patch is actually an array of byte that's larger
- // than sizeof(Res_png_9patch). It must be freed as an array.
- int8_t* patch = (int8_t*)resource;
- delete[] patch;
+ if (Caches::hasInstance()) {
+ // DEAD CODE
+ } else {
+ // A Res_png_9patch is actually an array of byte that's larger
+ // than sizeof(Res_png_9patch). It must be freed as an array.
+ int8_t* patch = (int8_t*)resource;
+ delete[] patch;
+ }
} break;
}
}