summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2017-06-23 11:32:12 +0200
committerTobrun <tobrun.van.nuland@gmail.com>2017-06-23 11:32:12 +0200
commit7adb2a523ea7fc8d802d2cad953579f8842edf0b (patch)
tree0916d5e5391b97563c105d02f3f760a5dbbec507
parent3e40cab22dbf31f5575009a5e2841185c0868062 (diff)
downloadqtlocation-mapboxgl-upstream/tvn-catch-eglswapbuffers.tar.gz
[android] - catch render exceptionsupstream/tvn-catch-eglswapbuffers
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java4
-rwxr-xr-xplatform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java10
2 files changed, 13 insertions, 1 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
index c51d9327d2..051a82d6be 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
@@ -418,6 +418,10 @@ public class MapView extends FrameLayout {
}
}
+ boolean hasSurface() {
+ return hasSurface;
+ }
+
private class SurfaceCallback implements SurfaceHolder.Callback {
private Surface surface;
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java
index af3b57151d..36377d10e8 100755
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java
@@ -176,7 +176,15 @@ final class NativeMapView {
if (isDestroyedOn("render")) {
return;
}
- nativeRender();
+
+ try {
+ nativeRender();
+ } catch (Exception exception) {
+ Timber.e(exception,
+ "Exception with state: NativeMapView destroyed: %s, View has surface %s",
+ destroyed,
+ mapView.hasSurface());
+ }
}
public void resizeView(int width, int height) {