Ignore:
Timestamp:
2018-04-10T19:02:58+02:00 (6 years ago)
Author:
Don-vip
Message:

fix #16176 - NPE

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/CombineWayAction.java

    r13453 r13611  
    1414import java.util.LinkedList;
    1515import java.util.List;
     16import java.util.Objects;
    1617import java.util.stream.Collectors;
    1718
     
    2829import org.openstreetmap.josm.data.osm.NodeGraph;
    2930import org.openstreetmap.josm.data.osm.OsmPrimitive;
     31import org.openstreetmap.josm.data.osm.OsmUtils;
    3032import org.openstreetmap.josm.data.osm.TagCollection;
    3133import org.openstreetmap.josm.data.osm.Way;
     
    115117            return null;
    116118
    117         List<DataSet> dataSets = ways.stream().map(Way::getDataSet).distinct().collect(Collectors.toList());
     119        List<DataSet> dataSets = ways.stream().map(Way::getDataSet).filter(Objects::nonNull).distinct().collect(Collectors.toList());
    118120        if (dataSets.size() != 1) {
    119121            throw new IllegalArgumentException("Cannot combine ways of multiple data sets.");
     
    251253    protected void updateEnabledState(Collection<? extends OsmPrimitive> selection) {
    252254        int numWays = 0;
    253         if (selection.stream().map(OsmPrimitive::getDataSet).noneMatch(DataSet::isLocked)) {
     255        if (OsmUtils.isOsmCollectionEditable(selection)) {
    254256            for (OsmPrimitive osm : selection) {
    255257                if (osm instanceof Way && !osm.isIncomplete() && ++numWays >= 2) {
Note: See TracChangeset for help on using the changeset viewer.