Ticket #17695: 17695-v2.patch
File 17695-v2.patch, 2.1 KB (added by , 5 years ago) |
---|
-
src/org/openstreetmap/josm/data/validation/tests/MapCSSTagChecker.java
69 69 import org.openstreetmap.josm.gui.mappaint.mapcss.MapCSSStyleSource.MapCSSRuleIndex; 70 70 import org.openstreetmap.josm.gui.mappaint.mapcss.Selector; 71 71 import org.openstreetmap.josm.gui.mappaint.mapcss.Selector.AbstractSelector; 72 import org.openstreetmap.josm.gui.mappaint.mapcss.Selector.ChildOrParentSelector; 73 import org.openstreetmap.josm.gui.mappaint.mapcss.Selector.ChildOrParentSelectorType; 72 74 import org.openstreetmap.josm.gui.mappaint.mapcss.Selector.GeneralSelector; 73 75 import org.openstreetmap.josm.gui.mappaint.mapcss.Selector.OptimizedGeneralSelector; 74 76 import org.openstreetmap.josm.gui.mappaint.mapcss.parsergen.MapCSSParser; … … 854 856 while (candidates.hasNext()) { 855 857 MapCSSRule r = candidates.next(); 856 858 env.clearSelectorMatchingInformation(); 859 if (partialSelection && r.selector instanceof Selector.ChildOrParentSelector) { 860 ChildOrParentSelector sel = (Selector.ChildOrParentSelector) r.selector; 861 if (sel.type == ChildOrParentSelectorType.ELEMENT_OF && p.getDataSet() != null) { 862 List<OsmPrimitive> toCheck = new ArrayList<>(); 863 toCheck.addAll(p.getDataSet().searchWays(p.getBBox())); 864 toCheck.addAll(p.getDataSet().searchRelations(p.getBBox())); 865 toCheck.removeIf(OsmPrimitive::isSelected); 866 Set<Set<TagCheck>> checksCol = Collections.singleton(Collections.singleton(indexData.getCheck(r))); 867 toCheck.forEach(p2 -> res.addAll(getErrorsForPrimitive(p2, includeOtherSeverity, checksCol))); 868 } 869 } 857 870 if (r.selector.matches(env)) { // as side effect env.parent will be set (if s is a child selector) 858 871 TagCheck check = indexData.getCheck(r); 859 872 if (check != null) {