From bf2004bc3735c7cd12e345b469c3994b72629047 Mon Sep 17 00:00:00 2001 From: Magnus Jedvert Date: Thu, 8 Oct 2015 18:58:07 +0200 Subject: [PATCH] Android SurfaceViewRenderer: Only clear image in release() if initialized This CL is a small bug fix for "Android SurfaceViewRenderer: Allow to re-init after release() has been called" https://codereview.webrtc.org/1389203003/. It is only possible to clear the last image in release() if init() has been called beforehand. TBR=hbos BUG=webrtc:4742 Review URL: https://codereview.webrtc.org/1396573003 . Cr-Commit-Position: refs/heads/master@{#10223} --- .../java/android/org/webrtc/SurfaceViewRenderer.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/talk/app/webrtc/java/android/org/webrtc/SurfaceViewRenderer.java b/talk/app/webrtc/java/android/org/webrtc/SurfaceViewRenderer.java index 28404c9d6f..b91d0866d3 100644 --- a/talk/app/webrtc/java/android/org/webrtc/SurfaceViewRenderer.java +++ b/talk/app/webrtc/java/android/org/webrtc/SurfaceViewRenderer.java @@ -206,9 +206,11 @@ public class SurfaceViewRenderer extends SurfaceView GLES20.glDeleteTextures(3, yuvTextures, 0); yuvTextures = null; } - // Clear last rendered image to black. - GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); - eglBase.swapBuffers(); + if (eglBase.hasSurface()) { + // Clear last rendered image to black. + GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); + eglBase.swapBuffers(); + } eglBase.release(); eglBase = null; }