- Timestamp:
- 2020-11-27T15:37:14+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/command/SplitWayCommand.java
r17365 r17367 436 436 437 437 // Change the original way 438 final Way changedWay = new Way(way); 439 changedWay.setNodes(wayToKeep.getNodes()); 440 commandList.add(new ChangeNodesCommand(way, changedWay.getNodes())); 438 final List<Node> changedWayNodes = wayToKeep.getNodes(); 439 commandList.add(new ChangeNodesCommand(way, changedWayNodes)); 441 440 for (Way wayToAdd : newWays) { 442 441 commandList.add(new AddCommand(way.getDataSet(), wayToAdd)); … … 465 464 boolean insert = true; 466 465 if (relationSpecialTypes.containsKey(type) && "restriction".equals(relationSpecialTypes.get(type))) { 467 RelationInformation rValue = treatAsRestriction(r, rm, c, newWays, way, changedWay); 466 RelationInformation rValue = treatAsRestriction(r, rm, c, newWays, way, changedWayNodes); 468 467 if (rValue.warnme) warnings.add(WarningType.GENERIC); 469 468 insert = rValue.insert; … … 570 569 } 571 570 } 572 changedWay.setNodes(null); // see #19885573 571 return new Analysis(relationAnalyses, commandList, warnings, numberOfRelations); 574 572 } … … 785 783 private static RelationInformation treatAsRestriction(Relation r, 786 784 RelationMember rm, Relation c, Collection<Way> newWays, Way way, 787 WaychangedWay) {785 List<Node> changedWayNodes) { 788 786 RelationInformation relationInformation = new RelationInformation(); 789 787 /* this code assumes the restriction is correct. No real error checking done */ … … 802 800 Way res = null; 803 801 for (Node n : nodes) { 804 if (changedWay .isFirstLastNode(n)) {802 if (changedWayNodes.get(0) == n || changedWayNodes.get(changedWayNodes.size() - 1) == n) { 805 803 res = way; 806 804 }
Note:
See TracChangeset
for help on using the changeset viewer.