Changeset 13062 in josm


Ignore:
Timestamp:
2017-10-30T23:11:47+01:00 (6 years ago)
Author:
Don-vip
Message:

fix #5823 - fix calculation of "moved many elements" warning

File:
1 edited

Legend:

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

    r12846 r13062  
    1818import java.util.LinkedList;
    1919import java.util.Optional;
     20import java.util.Set;
    2021
    2122import javax.swing.JOptionPane;
     
    829830            }
    830831        }
    831         int max = Config.getPref().getInt("warn.move.maxelements", 20), limit = max;
     832        Set<Node> nodes = new HashSet<>();
     833        int max = Config.getPref().getInt("warn.move.maxelements", 20);
    832834        for (OsmPrimitive osm : getLayerManager().getEditDataSet().getSelected()) {
    833835            if (osm instanceof Way) {
    834                 limit -= ((Way) osm).getNodes().size();
    835             }
    836             if (--limit < 0) {
     836                nodes.addAll(((Way) osm).getNodes());
     837            } else if (osm instanceof Node) {
     838                nodes.add((Node) osm);
     839            }
     840            if (nodes.size() > max) {
    837841                break;
    838842            }
    839843        }
    840         if (limit < 0) {
     844        if (nodes.size() > max) {
    841845            final ExtendedDialog ed = new ConfirmMoveDialog();
    842846            ed.setContent(
Note: See TracChangeset for help on using the changeset viewer.