summaryrefslogtreecommitdiff
path: root/libs/hwui/Layer.cpp
diff options
context:
space:
mode:
author Romain Guy <romainguy@google.com> 2012-09-23 17:46:45 -0700
committer Romain Guy <romainguy@google.com> 2012-09-23 17:49:24 -0700
commit97dc9172b0e58979c63de0dedbab656399a62281 (patch)
tree291da7b2a7b35e73821fa3660c7e1a96e983a5e4 /libs/hwui/Layer.cpp
parent4285de3c8bc77856a2df98894f74bb7333f1d348 (diff)
Avoid deadlock when deleting layers
Bug #7217459 Change-Id: I12bfa6c30c5030bd1b23ea6a3ce64240ab1dfba3
Diffstat (limited to 'libs/hwui/Layer.cpp')
-rw-r--r--libs/hwui/Layer.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/libs/hwui/Layer.cpp b/libs/hwui/Layer.cpp
index 76b274b00443..fb525ee428ac 100644
--- a/libs/hwui/Layer.cpp
+++ b/libs/hwui/Layer.cpp
@@ -50,6 +50,13 @@ Layer::~Layer() {
deleteTexture();
}
+void Layer::freeResourcesLocked() {
+ if (colorFilter) {
+ Caches::getInstance().resourceCache.decrementRefcountLocked(colorFilter);
+ colorFilter = NULL;
+ }
+}
+
void Layer::setPaint(SkPaint* paint) {
OpenGLRenderer::getAlphaAndModeDirect(paint, &alpha, &mode);
}