diff options
Diffstat (limited to 'libs/hwui/Layer.cpp')
| -rw-r--r-- | libs/hwui/Layer.cpp | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/libs/hwui/Layer.cpp b/libs/hwui/Layer.cpp index 742ffd47fd8d..70eeb39ac4ef 100644 --- a/libs/hwui/Layer.cpp +++ b/libs/hwui/Layer.cpp @@ -51,7 +51,7 @@ Layer::Layer(const uint32_t layerWidth, const uint32_t layerHeight): } Layer::~Layer() { - if (colorFilter) caches.resourceCache.decrementRefcount(colorFilter); + SkSafeUnref(colorFilter); removeFbo(); deleteTexture(); @@ -135,14 +135,8 @@ void Layer::setPaint(SkPaint* paint) { OpenGLRenderer::getAlphaAndModeDirect(paint, &alpha, &mode); } -void Layer::setColorFilter(SkiaColorFilter* filter) { - if (colorFilter) { - caches.resourceCache.decrementRefcount(colorFilter); - } - colorFilter = filter; - if (colorFilter) { - caches.resourceCache.incrementRefcount(colorFilter); - } +void Layer::setColorFilter(SkColorFilter* filter) { + SkRefCnt_SafeAssign(colorFilter, filter); } void Layer::bindTexture() const { |