summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2019-02-22 15:25:02 +0200
committerIvo van Dongen <info@ivovandongen.nl>2019-02-22 15:25:02 +0200
commit512f3129cf15ff09f384d0b00c0a8b106a3ec5bc (patch)
tree48efdbb3451916c67af699c7f6146fc32a20818d
parentbc4fd56ff8b651603f49fcd1caf239408f3326eb (diff)
downloadqtlocation-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.java22
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);
}