diff options
| -rw-r--r-- | main/src/cgeo/geocaching/filter/DistanceFilter.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/main/src/cgeo/geocaching/filter/DistanceFilter.java b/main/src/cgeo/geocaching/filter/DistanceFilter.java index 86b09c7..2f39473 100644 --- a/main/src/cgeo/geocaching/filter/DistanceFilter.java +++ b/main/src/cgeo/geocaching/filter/DistanceFilter.java @@ -24,9 +24,14 @@ class DistanceFilter extends AbstractFilter { @Override public boolean accepts(final Geocache cache) { final Geopoint currentPos = new Geopoint(geo.getLocation()); - final float distance = currentPos.distanceTo(cache.getCoords()); - - return (distance >= minDistance) && (distance <= maxDistance); + final Geopoint coords = cache.getCoords(); + if (coords == null) { + // If a cache has no coordinates, consider it to be out of range. It will + // happen with archived cache. + return false; + } + final float distance = currentPos.distanceTo(coords); + return distance >= minDistance && distance <= maxDistance; } public static class Factory implements IFilterFactory { |
