Ticket #1532: MarkerLayer.java.patch

File MarkerLayer.java.patch, 1.3 KB (added by avarab@…, 18 years ago)

Check whether wpt.attr.containsKey("link") before iterating over the wpt.attr.get("link") Collection

  • src/org/openstreetmap/josm/gui/layer/markerlayer/MarkerLayer.java

     
    8080                for (WayPoint wpt : indata.waypoints) {
    8181                        /* calculate time differences in waypoints */
    8282                        double time = wpt.time;
     83                        boolean wpt_has_link = wpt.attr.containsKey("link");
    8384                        if (firstTime < 0) {
    8485                                firstTime = time;
     86                                if (wpt_has_link) {
     87                                        for (GpxLink oneLink : (Collection<GpxLink>) wpt.attr.get("link")) {
     88                                                lastLinkedFile = oneLink.uri;
     89                                                break;
     90                                        }
     91                                }
     92                        }
     93                        if (wpt_has_link) {
    8594                                for (GpxLink oneLink : (Collection<GpxLink>) wpt.attr.get("link")) {
     95                                        if (!oneLink.uri.equals(lastLinkedFile))firstTime = time;
    8696                                        lastLinkedFile = oneLink.uri;
    8797                                        break;
    8898                                }
    8999                        }
    90                         for (GpxLink oneLink : (Collection<GpxLink>) wpt.attr.get("link")) {
    91                                 if (!oneLink.uri.equals(lastLinkedFile))firstTime = time;
    92                                 lastLinkedFile = oneLink.uri;
    93                                 break;
    94                         }
    95100            Marker m = Marker.createMarker(wpt, indata.storageFile, this, time, time - firstTime);
    96101            if (m != null)
    97102                data.add(m);