summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Stan Iliev <stani@google.com> 2017-08-23 17:15:09 -0400
committer Stan Iliev <stani@google.com> 2017-09-26 17:12:50 -0400
commit232f3628bca9b07a3c6a815f0540c29df29b6f85 (patch)
treea43b2946f2eee0b19c7ac1493520b6c3effc70f4
parent3f7cd530cd72aaf4db6da99fdd436d55e63d8bc9 (diff)
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
-rw-r--r--libs/hwui/pipeline/skia/SkiaPipeline.cpp4
-rw-r--r--libs/hwui/pipeline/skia/SkiaPipeline.h2
2 files changed, 5 insertions, 1 deletions
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;