From fd3cee138e24f6fa84db89a936eb7381a8673fe9 Mon Sep 17 00:00:00 2001 From: John Reck Date: Mon, 18 Apr 2016 13:26:48 -0700 Subject: Make surfaceRedrawNeeded forgiving Fixes: 27071678 It's semi-common for apps to not realize surfaceRedrawNeeded is a callback they can (and should) be handling, so have it be more tolerant in lifecycle handling. Specifically allow a renderer to have not yet been set on GLSurfaceView, even though it was supposed to have been set already. Apps are overriding the other lifecycle methods that require this (created, changed, an destroyed) but not noticing this method. Change-Id: I6cebca541eeec6e9949bdb55f687b095768a17b2 --- opengl/java/android/opengl/GLSurfaceView.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'opengl/java') diff --git a/opengl/java/android/opengl/GLSurfaceView.java b/opengl/java/android/opengl/GLSurfaceView.java index f37ec58fbe26..38ed9321653d 100644 --- a/opengl/java/android/opengl/GLSurfaceView.java +++ b/opengl/java/android/opengl/GLSurfaceView.java @@ -547,7 +547,9 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback */ @Override public void surfaceRedrawNeeded(SurfaceHolder holder) { - mGLThread.requestRenderAndWait(); + if (mGLThread != null) { + mGLThread.requestRenderAndWait(); + } } -- cgit v1.2.3