diff --git a/src/org/mapsforge/android/glrenderer/MapRenderer.java b/src/org/mapsforge/android/glrenderer/MapRenderer.java index 7bbf2195..67e49290 100644 --- a/src/org/mapsforge/android/glrenderer/MapRenderer.java +++ b/src/org/mapsforge/android/glrenderer/MapRenderer.java @@ -345,8 +345,6 @@ public class MapRenderer implements org.mapsforge.android.IMapRenderer { // Log.d(TAG, "--------------------------------<<"); } - private Object lock = new Object(); - private boolean updateVisibleList(double x, double y, int zdir) { byte zoomLevel = mLastZoom; float scale = mLastScale; @@ -1144,7 +1142,7 @@ public class MapRenderer implements org.mapsforge.android.IMapRenderer { mVBOs.add(new VertexBufferObject(mVboIds[i])); // Set up textures - TextRenderer.init(numTiles * 2); + TextRenderer.init(numTiles); glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glDisable(GLES20.GL_DEPTH_TEST); diff --git a/src/org/mapsforge/android/glrenderer/TextRenderer.java b/src/org/mapsforge/android/glrenderer/TextRenderer.java index b22100d7..11e06c3d 100644 --- a/src/org/mapsforge/android/glrenderer/TextRenderer.java +++ b/src/org/mapsforge/android/glrenderer/TextRenderer.java @@ -188,6 +188,16 @@ public class TextRenderer { tex = null; } + if (tex == null) { + for (int i = 0; i < mTextures.length; i++) { + tex = mTextures[i]; + if (!tex.tile.isVisible) + break; + + tex = null; + } + } + if (tex == null) { Log.d(TAG, "no textures left"); return false;