diff options
| author | 2012-09-23 17:46:45 -0700 | |
|---|---|---|
| committer | 2012-09-23 17:49:24 -0700 | |
| commit | 97dc9172b0e58979c63de0dedbab656399a62281 (patch) | |
| tree | 291da7b2a7b35e73821fa3660c7e1a96e983a5e4 /libs/hwui/Layer.cpp | |
| parent | 4285de3c8bc77856a2df98894f74bb7333f1d348 (diff) | |
Avoid deadlock when deleting layers
Bug #7217459
Change-Id: I12bfa6c30c5030bd1b23ea6a3ce64240ab1dfba3
Diffstat (limited to 'libs/hwui/Layer.cpp')
| -rw-r--r-- | libs/hwui/Layer.cpp | 7 |
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); } |