Changeset 5176 in josm for trunk/src/org


Ignore:
Timestamp:
2012-04-11T19:56:14+02:00 (13 years ago)
Author:
Don-vip
Message:

fix #7593 - IllegalPathStateException when attempting to purge an item in a Multipolygon

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/visitor/paint/relations/Multipolygon.java

    r4683 r5176  
    221221                }
    222222            }
    223             poly.closePath();
     223            if (!initial) { // fix #7593
     224                poly.closePath();
     225            }
    224226            for (PolyData inner : inners) {
    225227                appendInner(inner.poly);
     
    278280        }
    279281       
    280         private void resetNodes() {
     282        private void resetNodes(DataSet dataSet) {
    281283            if (!nodes.isEmpty()) {
    282                 DataSet ds = null;
     284                DataSet ds = dataSet;
    283285                // Find DataSet (can be null for several nodes when undoing nodes creation, see #7162)
    284286                for (Iterator<Node> it = nodes.iterator(); it.hasNext() && ds == null; ) {
     
    331333            for (PolyData inner : inners) {
    332334                if (inner.wayIds.contains(wayId)) {
    333                     inner.resetNodes();
     335                    inner.resetNodes(event.getDataset());
    334336                    innerChanged = true;
    335337                }
    336338            }
    337339            if (wayIds.contains(wayId) || innerChanged) {
    338                 resetNodes();
     340                resetNodes(event.getDataset());
    339341            }
    340342        }
Note: See TracChangeset for help on using the changeset viewer.