From e7f4286c8a9d301a24d408b820aeec436b0f3423 Mon Sep 17 00:00:00 2001 From: John Reck Date: Fri, 21 Apr 2017 17:14:45 -0700 Subject: Workaround apps that override surfaceCreated Fixes: 34512969 Test: manual, tested repro in bug and verified basic GLSurfaceView usage in ApiDemos works without warnings Change-Id: I0ce9128874af681e9cfbd3b0b2ef5e2df7080154 --- opengl/java/android/opengl/GLSurfaceView.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'opengl') diff --git a/opengl/java/android/opengl/GLSurfaceView.java b/opengl/java/android/opengl/GLSurfaceView.java index 329514c0b7fc..0f0a7e9d1314 100644 --- a/opengl/java/android/opengl/GLSurfaceView.java +++ b/opengl/java/android/opengl/GLSurfaceView.java @@ -1469,6 +1469,13 @@ public class GLSurfaceView extends SurfaceView implements SurfaceHolder.Callback } break; } + } else { + if (finishDrawingRunnable != null) { + Log.w(TAG, "Warning, !readyToDraw() but waiting for " + + "draw finished! Early reporting draw finished."); + finishDrawingRunnable.run(); + finishDrawingRunnable = null; + } } // By design, this is the only place in a GLThread thread where we wait(). if (LOG_THREADS) { -- cgit v1.2.3