aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
Diffstat (limited to 'main/src')
-rw-r--r--main/src/cgeo/geocaching/filter/DistanceFilter.java11
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 {