diff options
author | Ivo van Dongen <info@ivovandongen.nl> | 2019-02-22 15:25:02 +0200 |
---|---|---|
committer | Ivo van Dongen <info@ivovandongen.nl> | 2019-02-22 15:25:02 +0200 |
commit | 512f3129cf15ff09f384d0b00c0a8b106a3ec5bc (patch) | |
tree | 48efdbb3451916c67af699c7f6146fc32a20818d | |
parent | bc4fd56ff8b651603f49fcd1caf239408f3326eb (diff) | |
download | qtlocation-mapboxgl-upstream/ivd_fix_surface_creation.tar.gz |
[android] gl surfaceview renderer - only destroy context when destroying the mapviewupstream/ivd_fix_surface_creation
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java index e757907ab8..9d9a7bd2d4 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/glsurfaceview/GLSurfaceViewMapRenderer.java @@ -25,6 +25,8 @@ public class GLSurfaceViewMapRenderer extends MapRenderer implements GLSurfaceVi @NonNull private final GLSurfaceView glSurfaceView; + private boolean requestDestroy; + public GLSurfaceViewMapRenderer(Context context, GLSurfaceView glSurfaceView, String localIdeographFontFamily) { @@ -40,7 +42,7 @@ public class GLSurfaceViewMapRenderer extends MapRenderer implements GLSurfaceVi @Override public void surfaceDestroyed(SurfaceHolder holder) { - GLSurfaceViewMapRenderer.this.onSurfaceDestroyed(); + requestDestroy = true; } }); @@ -52,11 +54,29 @@ public class GLSurfaceViewMapRenderer extends MapRenderer implements GLSurfaceVi } @Override + public void onPause() { + super.onPause(); + } + + @Override + public void onDestroy() { + if (requestDestroy) { + onSurfaceDestroyed(); + } + super.onDestroy(); + } + + @Override public void onStart() { glSurfaceView.onResume(); } @Override + public void onResume() { + super.onResume(); + } + + @Override public void onSurfaceCreated(GL10 gl, EGLConfig config) { super.onSurfaceCreated(gl, config); } |