Ticket #19353: 19353-fixPopup.patch
File 19353-fixPopup.patch, 2.6 KB (added by , 5 years ago) |
---|
-
src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java
363 363 * @param relation relation 364 364 */ 365 365 public void applyToRelation(Relation relation) { 366 relation.setMembers(members.stream() 367 .filter(rm -> !rm.getMember().isDeleted()).collect(Collectors.toList())); 366 relation.setMembers( 367 members.stream().filter(rm -> !rm.getMember().isDeleted() && rm.getMember().getDataSet() != null) 368 .collect(Collectors.toList())); 368 369 } 369 370 370 371 /** -
src/org/openstreetmap/josm/gui/dialogs/relation/actions/SavingAction.java
4 4 import static org.openstreetmap.josm.tools.I18n.tr; 5 5 6 6 import java.awt.Component; 7 import java.util.List;8 import java.util.stream.Collectors;9 7 10 8 import javax.swing.JOptionPane; 11 9 import javax.swing.SwingUtilities; … … 17 15 import org.openstreetmap.josm.data.conflict.Conflict; 18 16 import org.openstreetmap.josm.data.osm.DefaultNameFormatter; 19 17 import org.openstreetmap.josm.data.osm.Relation; 20 import org.openstreetmap.josm.data.osm.RelationMember;21 18 import org.openstreetmap.josm.gui.HelpAwareOptionPane; 22 19 import org.openstreetmap.josm.gui.HelpAwareOptionPane.ButtonSpec; 23 20 import org.openstreetmap.josm.gui.MainApplication; … … 50 47 final Relation newRelation = new Relation(); 51 48 tagEditorModel.applyToPrimitive(newRelation); 52 49 getMemberTableModel().applyToRelation(newRelation); 53 List<RelationMember> newMembers = newRelation.getMembers().stream() 54 .filter(rm -> !rm.getMember().isDeleted()) 55 .collect(Collectors.toList()); 56 if (newRelation.getMembersCount() != newMembers.size()) { 57 newRelation.setMembers(newMembers); 50 if (newRelation.getMembersCount() != getMemberTableModel().getRowCount()) { 58 51 String msg = tr("One or more members of this new relation have been deleted while the relation editor\n" + 59 52 "was open. They have been removed from the relation members list."); 60 53 JOptionPane.showMessageDialog(MainApplication.getMainFrame(), msg, tr("Warning"), JOptionPane.WARNING_MESSAGE);