summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorSangkyu Lee <geteuid@gmail.com>2015-12-11 16:05:10 +0900
committerSteve Kondik <steve@cyngn.com>2015-12-16 01:45:40 -0500
commit69668f1178435acff1a9295d0d27b70f9a7989fa (patch)
tree8fa1f1ae73983951eda4cc117ca53475b5523c8b /libs
parentacfc22ef98d862000664757c800995d2670350a2 (diff)
downloadframeworks_base-69668f1178435acff1a9295d0d27b70f9a7989fa.zip
frameworks_base-69668f1178435acff1a9295d0d27b70f9a7989fa.tar.gz
frameworks_base-69668f1178435acff1a9295d0d27b70f9a7989fa.tar.bz2
Fix memory leak in HWUI
std::unique_ptr::release just releases the ownership of the managed object. To delete the object, std::unique_ptr::reset function should be called. Change-Id: If65f74085b1fc2be3a9fffc433326e0bcdb40ff3
Diffstat (limited to 'libs')
-rw-r--r--libs/hwui/Caches.cpp2
-rw-r--r--libs/hwui/GammaFontRenderer.cpp4
-rw-r--r--libs/hwui/Layer.cpp2
3 files changed, 4 insertions, 4 deletions
diff --git a/libs/hwui/Caches.cpp b/libs/hwui/Caches.cpp
index aa73d44..2763e89 100644
--- a/libs/hwui/Caches.cpp
+++ b/libs/hwui/Caches.cpp
@@ -117,7 +117,7 @@ void Caches::initStaticProperties() {
void Caches::terminate() {
if (!mInitialized) return;
- mRegionMesh.release();
+ mRegionMesh.reset(nullptr);
fboCache.clear();
diff --git a/libs/hwui/GammaFontRenderer.cpp b/libs/hwui/GammaFontRenderer.cpp
index 0bcd83a..070c3d7 100644
--- a/libs/hwui/GammaFontRenderer.cpp
+++ b/libs/hwui/GammaFontRenderer.cpp
@@ -194,7 +194,7 @@ void Lookup3GammaFontRenderer::endPrecaching() {
void Lookup3GammaFontRenderer::clear() {
for (int i = 0; i < kGammaCount; i++) {
- mRenderers[i].release();
+ mRenderers[i].reset(nullptr);
}
}
@@ -215,7 +215,7 @@ void Lookup3GammaFontRenderer::flush() {
if (count <= 1 || min < 0) return;
- mRenderers[min].release();
+ mRenderers[min].reset(nullptr);
// Also eliminate the caches for large glyphs, as they consume significant memory
for (int i = 0; i < kGammaCount; ++i) {
diff --git a/libs/hwui/Layer.cpp b/libs/hwui/Layer.cpp
index e16865e..62eeb43 100644
--- a/libs/hwui/Layer.cpp
+++ b/libs/hwui/Layer.cpp
@@ -251,7 +251,7 @@ void Layer::defer(const OpenGLRenderer& rootRenderer) {
void Layer::cancelDefer() {
renderNode = nullptr;
deferredUpdateScheduled = false;
- deferredList.release();
+ deferredList.reset(nullptr);
}
void Layer::flush() {