Ticket #12443: MemberTableModelFix.patch

File MemberTableModelFix.patch, 1.6 KB (added by kolesar, 10 years ago)
  • src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java

    diff --git a/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java b/src/org/openstreetmap/josm/gui/dialogs/relation/MemberTableModel.java
    index b00a423..c9a7461 100644
    a b import org.openstreetmap.josm.Main;  
    2323import org.openstreetmap.josm.data.SelectionChangedListener;
    2424import org.openstreetmap.josm.data.osm.DataSet;
    2525import org.openstreetmap.josm.data.osm.OsmPrimitive;
     26import org.openstreetmap.josm.data.osm.OsmPrimitiveType;
    2627import org.openstreetmap.josm.data.osm.Relation;
    2728import org.openstreetmap.josm.data.osm.RelationMember;
    2829import org.openstreetmap.josm.data.osm.event.AbstractDatasetChangedEvent;
    implements TableModelListener, SelectionChangedListener, DataSetListener, OsmPri  
    440441    }
    441442
    442443    RelationMember getRelationMemberForPrimitive(final OsmPrimitive primitive) {
    443         final Collection<TaggingPreset> presets = TaggingPresets.getMatchingPresets(EnumSet.of(TaggingPresetType.forPrimitive(relation)),
     444        TaggingPresetType presetType;
     445        if (relation != null) {
     446            presetType = TaggingPresetType.forPrimitive(relation);
     447        } else {
     448            presetType = TaggingPresetType.forPrimitiveType(OsmPrimitiveType.RELATION);
     449        }
     450        final Collection<TaggingPreset> presets = TaggingPresets.getMatchingPresets(EnumSet.of(presetType),
    444451                presetHandler.getSelection().iterator().next().getKeys(), false);
    445452        Collection<String> potentialRoles = new TreeSet<>();
    446453        for (TaggingPreset tp : presets) {