From 232f3628bca9b07a3c6a815f0540c29df29b6f85 Mon Sep 17 00:00:00 2001 From: Stan Iliev Date: Wed, 23 Aug 2017 17:15:09 -0400 Subject: Unpin images when skia pipeline object is destroyed Unpin images when skia pipeline object is destroyed. This fixes an assert in skia ~SkImage_Raster. Test: Built and ran Android on a device. Bug: 66730647 Change-Id: I73603efd4fc2ca584cdb8f6a4774e48a187f6787 --- libs/hwui/pipeline/skia/SkiaPipeline.cpp | 4 ++++ libs/hwui/pipeline/skia/SkiaPipeline.h | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libs/hwui/pipeline/skia/SkiaPipeline.cpp b/libs/hwui/pipeline/skia/SkiaPipeline.cpp index 6f117de23864..c4bd1e1b10d4 100644 --- a/libs/hwui/pipeline/skia/SkiaPipeline.cpp +++ b/libs/hwui/pipeline/skia/SkiaPipeline.cpp @@ -45,6 +45,10 @@ SkiaPipeline::SkiaPipeline(RenderThread& thread) : mRenderThread(thread) { mVectorDrawables.reserve(30); } +SkiaPipeline::~SkiaPipeline() { + unpinImages(); +} + TaskManager* SkiaPipeline::getTaskManager() { return mRenderThread.cacheManager().getTaskManager(); } diff --git a/libs/hwui/pipeline/skia/SkiaPipeline.h b/libs/hwui/pipeline/skia/SkiaPipeline.h index 2b0c419aa1a1..3e6ae306217c 100644 --- a/libs/hwui/pipeline/skia/SkiaPipeline.h +++ b/libs/hwui/pipeline/skia/SkiaPipeline.h @@ -28,7 +28,7 @@ namespace skiapipeline { class SkiaPipeline : public renderthread::IRenderPipeline { public: SkiaPipeline(renderthread::RenderThread& thread); - virtual ~SkiaPipeline() {} + virtual ~SkiaPipeline(); TaskManager* getTaskManager() override; -- cgit v1.2.3-59-g8ed1b