Ignore:
Timestamp:
2010-03-19T22:05:48+01:00 (14 years ago)
Author:
jttt
Message:

Use referrers when loading members of primitive in PropertiesDialog

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/dialogs/properties/PropertiesDialog.java

    r2951 r3146  
    267267            value = null; // delete the key instead
    268268        }
    269         if (key.equals(newkey) && tr("<different>").equals(value)) {
     269        if (key.equals(newkey) && tr("<different>").equals(value))
    270270            return;
    271         }
    272271        if (key.equals(newkey) || value == null) {
    273272            Main.main.undoRedo.add(new ChangePropertyCommand(sel, newkey, value));
     
    763762
    764763        Map<Relation, Collection<RelationMember>> roles = new HashMap<Relation, Collection<RelationMember>>();
    765         if (Main.main.getCurrentDataSet() != null) {
    766             for (Relation r : Main.main.getCurrentDataSet().getRelations()) {
    767                 if (!r.isFiltered() && !r.isIncomplete() && !r.isDeleted()) {
     764        for (OsmPrimitive primitive: newSelection) {
     765            for (OsmPrimitive ref: primitive.getReferrers()) {
     766                if (ref instanceof Relation && !ref.isFiltered() && !ref.isIncomplete() && !ref.isDeleted()) {
     767                    Relation r = (Relation) ref;
    768768                    for (RelationMember m : r.getMembers()) {
    769                         if (newSelection.contains(m.getMember())) {
     769                        if (m.getMember() == primitive) {
    770770                            Collection<RelationMember> value = roles.get(r);
    771771                            if (value == null) {
     
    779779            }
    780780        }
     781
    781782        for (Entry<Relation, Collection<RelationMember>> e : roles.entrySet()) {
    782783            membershipData.addRow(new Object[]{e.getKey(), e.getValue()});
Note: See TracChangeset for help on using the changeset viewer.