Ignore:
Timestamp:
2010-06-19T14:23:54+02:00 (14 years ago)
Author:
stoecker
Message:

#close #5135 - allow undeleting without recreating object - patch by Upliner

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/APIDataSet.java

    r3083 r3336  
    6161                continue;
    6262            }
    63             if (osm.isNew() && !osm.isDeleted()) {
     63            if (osm.isNewOrUndeleted() && !osm.isDeleted()) {
    6464                toAdd.add(osm);
    6565            } else if (osm.isModified() && !osm.isDeleted()) {
    6666                toUpdate.add(osm);
    67             } else if (osm.isDeleted() && !osm.isNew() && osm.isModified()) {
     67            } else if (osm.isDeleted() && !osm.isNew() && osm.isModified() && osm.isVisible()) {
    6868                toDelete.add(osm);
    6969            }
     
    198198        toDelete.clear();
    199199        for (OsmPrimitive osm: primitives) {
    200             if (osm.isNew() && !osm.isDeleted()) {
     200            if (osm.isNewOrUndeleted() && !osm.isDeleted()) {
    201201                toAdd.addLast(osm);
    202202            } else if (osm.isModified() && !osm.isDeleted()) {
    203203                toUpdate.addLast(osm);
    204             } else if (osm.isDeleted() && !osm.isNew() && osm.isModified()) {
     204            } else if (osm.isDeleted() && !osm.isNew() && osm.isModified() && osm.isVisible()) {
    205205                toDelete.addFirst(osm);
    206206            }
     
    312312            boolean refersToNewRelation = false;
    313313            for (RelationMember m : relation.getMembers()) {
    314                 if (m.isRelation() && m.getMember().isNew()) {
     314                if (m.isRelation() && m.getMember().isNewOrUndeleted()) {
    315315                    refersToNewRelation = true;
    316316                    break;
     
    350350            this.relations = new HashSet<Relation>();
    351351            for(Relation relation: relations) {
    352                 if (!relation.isNew() ) {
     352                if (!relation.isNewOrUndeleted() ) {
    353353                    continue;
    354354                }
    355355                this.relations.add(relation);
    356356                for (RelationMember m: relation.getMembers()) {
    357                     if (m.isRelation() && m.getMember().isNew()) {
     357                    if (m.isRelation() && m.getMember().isNewOrUndeleted()) {
    358358                        addDependency(relation, (Relation)m.getMember());
    359359                    }
Note: See TracChangeset for help on using the changeset viewer.