From ab69675d6983e0e1924ef8ae502d7b90a9cf5259 Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Tue, 11 Sep 2012 15:46:44 +0200 Subject: [PATCH] fix segv... set initial map position when not in config --- src/org/mapsforge/android/MapView.java | 17 +++++++++++++---- .../android/glrenderer/MapRenderer.java | 4 ++-- .../android/utils/GlConfigChooser.java | 6 +++--- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/src/org/mapsforge/android/MapView.java b/src/org/mapsforge/android/MapView.java index 7504b115..5ff30721 100644 --- a/src/org/mapsforge/android/MapView.java +++ b/src/org/mapsforge/android/MapView.java @@ -179,6 +179,7 @@ public class MapView extends GLSurfaceView { } setMapFile("default"); + initMapStartPosition(); mapActivity.registerMapView(this); @@ -204,11 +205,19 @@ public class MapView extends GLSurfaceView { GeoPoint startPoint = getStartPoint(); if (startPoint != null) { mMapViewPosition.setMapCenter(startPoint); - } + Log.d(TAG, "got start"); - Byte startZoomLevel = getStartZoomLevel(); - if (startZoomLevel != null) { - mMapViewPosition.setZoomLevel(startZoomLevel.byteValue()); + Byte startZoomLevel = getStartZoomLevel(); + if (startZoomLevel != null) { + mMapViewPosition.setZoomLevel(startZoomLevel.byteValue()); + Log.d(TAG, "got zoom"); + } else + mMapViewPosition.setZoomLevel((byte) 2); + } + else { + startPoint = new GeoPoint(0, 0); + mMapViewPosition.setMapCenter(startPoint); + mMapViewPosition.setZoomLevel((byte) 4); } } diff --git a/src/org/mapsforge/android/glrenderer/MapRenderer.java b/src/org/mapsforge/android/glrenderer/MapRenderer.java index 087caaa8..09f9b25b 100644 --- a/src/org/mapsforge/android/glrenderer/MapRenderer.java +++ b/src/org/mapsforge/android/glrenderer/MapRenderer.java @@ -777,8 +777,8 @@ public class MapRenderer implements org.mapsforge.android.IMapRenderer { @Override public void onSurfaceCreated(GL10 gl, EGLConfig config) { - String ext = GLES20.glGetString(GLES20.GL_EXTENSIONS); - Log.d(TAG, "Extensions: " + ext); + // String ext = GLES20.glGetString(GLES20.GL_EXTENSIONS); + // Log.d(TAG, "Extensions: " + ext); shortBuffer = new ShortBuffer[rotateBuffers]; diff --git a/src/org/mapsforge/android/utils/GlConfigChooser.java b/src/org/mapsforge/android/utils/GlConfigChooser.java index 621af76d..067bd7c8 100644 --- a/src/org/mapsforge/android/utils/GlConfigChooser.java +++ b/src/org/mapsforge/android/utils/GlConfigChooser.java @@ -77,9 +77,9 @@ public class GlConfigChooser implements GLSurfaceView.EGLConfigChooser { // configurations are considered to be "better" and returned first. // You need to explicitly filter the data returned by eglChooseConfig! - for (int i = 0; i < configs.length; ++i) { - Log.i(TAG, printConfig(egl, display, configs[i])); - } + // for (int i = 0; i < configs.length; ++i) { + // Log.i(TAG, printConfig(egl, display, configs[i])); + // } // int index = -1; // for (int i = 0; i < configs.length; ++i) {