From c1bb637fbf1feb737e0c7d26b587fa6726026733 Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Sat, 28 Sep 2013 21:45:33 +0200 Subject: [PATCH] fix: SymbolLayer first item from prevTextures could not have been removed --- .../org/oscim/renderer/elements/SymbolLayer.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/vtm/src/org/oscim/renderer/elements/SymbolLayer.java b/vtm/src/org/oscim/renderer/elements/SymbolLayer.java index 9e0f7eb4..7b97ef52 100644 --- a/vtm/src/org/oscim/renderer/elements/SymbolLayer.java +++ b/vtm/src/org/oscim/renderer/elements/SymbolLayer.java @@ -26,7 +26,9 @@ public final class SymbolLayer extends TextureLayer { private final static float SCALE = 8.0f; private final static int VERTICES_PER_SPRITE = 4; + private final static int LBIT_MASK = 0xfffffffe; + private TextureItem prevTextures; private SymbolItem symbols; public SymbolLayer() { @@ -53,8 +55,6 @@ public final class SymbolLayer extends TextureLayer { symbols = item; } - private final static int LBIT_MASK = 0xfffffffe; - @Override protected void compile(ShortBuffer sbuf) { // offset of layer data in vbo @@ -67,8 +67,7 @@ public final class SymbolLayer extends TextureLayer { int pos = 0; short buf[] = si.vertices; - TextureItem prevTextures = textures; - + prevTextures = textures; textures = null; TextureItem to = null; @@ -98,12 +97,9 @@ public final class SymbolLayer extends TextureLayer { } else if (it.bitmap != null) { width = it.bitmap.getWidth(); height = it.bitmap.getHeight(); - to = getTexture(prevTextures, it.bitmap); + to = getTexture(it.bitmap); if (to == null) { to = new TextureItem(it.bitmap); - // to.bitmap = it.bitmap; - // to.width = it.bitmap.getWidth(); - // to.height = it.bitmap.getHeight(); textures = Inlist.appendItem(textures, to); to.upload(); @@ -184,7 +180,7 @@ public final class SymbolLayer extends TextureLayer { prevTextures = null; } - private TextureItem getTexture(TextureItem prevTextures, Bitmap bitmap) { + private TextureItem getTexture(Bitmap bitmap) { TextureItem to; for (to = prevTextures; to != null; to = to.next) {