Ignore:
Timestamp:
2007-07-27T10:50:54+02:00 (19 years ago)
Author:
imi
Message:
  • fixed bug that selection listener were informed twice on selection changes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/org/openstreetmap/josm/data/osm/DataSet.java

    r290 r297  
    8282        /**
    8383         * Remove the selection of the whole dataset.
     84         * @deprecated Use setSelected() instead.
    8485         */
     86        @Deprecated
    8587        public void clearSelection() {
    8688                clearSelection(nodes);
     
    103105
    104106        public void setSelected(Collection<? extends OsmPrimitive> selection) {
    105                 clearSelection();
     107                clearSelection(nodes);
     108                clearSelection(segments);
     109                clearSelection(ways);
    106110                for (OsmPrimitive osm : selection)
    107111                        osm.selected = true;
     
    110114
    111115        public void setSelected(OsmPrimitive... osm) {
    112                 clearSelection();
    113                 if (osm.length == 0 || (osm.length == 1 && osm[0] == null))
     116                if (osm.length == 1 && osm[0] == null) {
     117                        setSelected();
    114118                        return;
     119                }
     120                clearSelection(nodes);
     121                clearSelection(segments);
     122                clearSelection(ways);
    115123                for (OsmPrimitive o : osm)
    116                         o.selected = true;
     124                        if (o != null)
     125                                o.selected = true;
    117126                fireSelectionChanged(Arrays.asList(osm));
    118127        }
Note: See TracChangeset for help on using the changeset viewer.