From 5947f2486236c16ac5ff4b96ab9f945f10311d87 Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Wed, 22 May 2013 12:46:54 +0200 Subject: [PATCH] warn if some feature matches the same instruction twice - (and remove second RenderInstruction) --- src/org/oscim/theme/RenderTheme.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/org/oscim/theme/RenderTheme.java b/src/org/oscim/theme/RenderTheme.java index 28cb9eff..9f275f1a 100644 --- a/src/org/oscim/theme/RenderTheme.java +++ b/src/org/oscim/theme/RenderTheme.java @@ -15,6 +15,7 @@ package org.oscim.theme; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import org.oscim.core.GeometryBuffer.GeometryType; @@ -228,6 +229,20 @@ public class RenderTheme implements IRenderTheme { } int size = matches.size(); + if (size > 1){ + for (int i = 0; i < size-1; i++){ + RenderInstruction r = matches.get(i); + for (int j = i + 1; j < size; j++){ + if (matches.get(j) == r){ + Log.d(TAG, "fix duplicate instruction! " + + Arrays.deepToString(element.tags) + + ":"+ zoomLevel); + matches.remove(j--); + size--; + } + } + } + } // check if same instructions are used in another level for (ri = ris; ri != null; ri = ri.next) { if (size == 0) {