diff options
author | 2016-01-21 13:46:21 +0900 | |
---|---|---|
committer | 2016-01-21 13:46:21 +0900 | |
commit | c5a3efd28668a62df3e3b364b49624c5af7549b6 (patch) | |
tree | fa83fe7b5d8c7afcd120925bfe8c1a22b0ce8fcb /libs/hwui/OpenGLRenderer.cpp | |
parent | 168f2e556b7222fd0dab7eadc4ceee2eca13be1a (diff) |
libhwui: fix texture memory leak
When there is not enough space and we cannot delete any
Texture in TextureCache to secure space, a new Texture is
created over and over again for the same SkBitmap and
there is the case that it is not deleted.
This patch avoids such cases.
Change-Id: Ic5353995e6d0716c31fe3bb49c60ec1a71574643
Signed-off-by: Dohyun Lee <leedhyun11@gmail.com>
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
-rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index 9621b545fada..5233a2377d7f 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -1699,6 +1699,7 @@ void OpenGLRenderer::drawPatch(const SkBitmap* bitmap, const Patch* mesh, Texture* texture = entry ? entry->texture : mCaches.textureCache.get(bitmap); if (!texture) return; + const AutoTexture autoCleanup(texture); // 9 patches are built for stretching - always filter int textureFillFlags = TextureFillFlags::ForceFilter; |