From 17a141be5043045333044ca45570219dc8e8355d Mon Sep 17 00:00:00 2001 From: MonoIith Date: Fri, 27 Nov 2015 23:12:05 -0500 Subject: [PATCH] Colorfade Memleak Fix Fix memory leak in ColorFade https://code.google.com/p/android/issues/detail?id=79729#c177 --- services/core/java/com/android/server/display/ColorFade.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/display/ColorFade.java b/services/core/java/com/android/server/display/ColorFade.java index 6e61e41ade0..fba74636145 100644 --- a/services/core/java/com/android/server/display/ColorFade.java +++ b/services/core/java/com/android/server/display/ColorFade.java @@ -450,6 +450,7 @@ private boolean captureScreenshotTextureAndSetViewport() { if (!attachEglContext()) { return false; } + SurfaceTexture st = null; try { if (!mTexNamesGenerated) { GLES20.glGenTextures(1, mTexNames, 0); @@ -459,7 +460,7 @@ private boolean captureScreenshotTextureAndSetViewport() { mTexNamesGenerated = true; } - final SurfaceTexture st = new SurfaceTexture(mTexNames[0]); + st = new SurfaceTexture(mTexNames[0]); final Surface s = new Surface(st); try { SurfaceControl.screenshot(SurfaceControl.getBuiltInDisplay( @@ -483,6 +484,8 @@ private boolean captureScreenshotTextureAndSetViewport() { GLES20.glViewport(0, 0, mDisplayWidth, mDisplayHeight); ortho(0, mDisplayWidth, 0, mDisplayHeight, -1, 1); } finally { + if (st != null) + st.release(); detachEglContext(); } return true;