From c077ad70fd150ee91d6b3748e1af2adcbfcff218 Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Fri, 13 Sep 2024 12:05:44 +0900 Subject: [PATCH] cmd/ebitenmobile: bug fix: graceful shutdown on context lost Closes #3097 --- cmd/ebitenmobile/_files/EbitenSurfaceView.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/cmd/ebitenmobile/_files/EbitenSurfaceView.java b/cmd/ebitenmobile/_files/EbitenSurfaceView.java index f682794eb..9d995572f 100644 --- a/cmd/ebitenmobile/_files/EbitenSurfaceView.java +++ b/cmd/ebitenmobile/_files/EbitenSurfaceView.java @@ -29,13 +29,12 @@ import {{.JavaPkg}}.ebitenmobileview.Renderer; import {{.JavaPkg}}.{{.PrefixLower}}.EbitenView; class EbitenSurfaceView extends GLSurfaceView implements Renderer { + // As GLSurfaceView can be recreated, the states must be static (#3097). + static private boolean errored_ = false; + static private boolean onceSurfaceCreated_ = false; + static private boolean contextLost_ = false; private class EbitenRenderer implements GLSurfaceView.Renderer { - - private boolean errored_ = false; - private boolean onceSurfaceCreated_ = false; - private boolean contextLost_ = false; - @Override public void onDrawFrame(GL10 gl) { if (errored_) { @@ -107,7 +106,7 @@ class EbitenSurfaceView extends GLSurfaceView implements Renderer { } private void onContextLost() { - Log.v("Go", "Kill the application due to a context lost"); + Log.e("Go", "The application was killed due to context loss"); // TODO: Relaunch this application for better UX (#805). Runtime.getRuntime().exit(0); }