summaryrefslogtreecommitdiff
path: root/telegps
diff options
context:
space:
mode:
Diffstat (limited to 'telegps')
-rw-r--r--telegps/TeleGPS.java9
-rw-r--r--telegps/TeleGPSConfigUI.java14
2 files changed, 19 insertions, 4 deletions
diff --git a/telegps/TeleGPS.java b/telegps/TeleGPS.java
index fe335176..7570d380 100644
--- a/telegps/TeleGPS.java
+++ b/telegps/TeleGPS.java
@@ -23,6 +23,7 @@ import javax.swing.*;
import java.io.*;
import java.util.concurrent.*;
import java.util.*;
+import java.text.*;
import org.altusmetrum.altoslib_6.*;
import org.altusmetrum.altosuilib_6.*;
@@ -679,9 +680,13 @@ public class TeleGPS
if (args.length < i + 3) {
help(1);
} else {
- double lat = Double.parseDouble(args[i+1]);
- double lon = Double.parseDouble(args[i+2]);
+ try {
+ double lat = AltosParse.parse_double_locale(args[i+1]);
+ double lon = AltosParse.parse_double_locale(args[i+2]);
AltosUIMap.prefetch_maps(lat, lon);
+ } catch (ParseException e) {
+ System.out.printf("Can't parse number %s\n", e.toString());
+ }
i += 2;
}
} else if (args[i].equals("--replay"))
diff --git a/telegps/TeleGPSConfigUI.java b/telegps/TeleGPSConfigUI.java
index 97ab34b4..4e657586 100644
--- a/telegps/TeleGPSConfigUI.java
+++ b/telegps/TeleGPSConfigUI.java
@@ -17,6 +17,7 @@
package org.altusmetrum.telegps;
+import java.text.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
@@ -686,7 +687,11 @@ public class TeleGPSConfigUI
String motion = tracker_motion_value.getSelectedItem().toString();
tracker_motion_label.setText(get_tracker_motion_label());
set_tracker_motion_values();
- set_tracker_motion((int) (AltosConvert.height.parse(motion, !imperial_units) + 0.5));
+ try {
+ int m = (int) (AltosConvert.height.parse_locale(motion, !imperial_units) + 0.5);
+ set_tracker_motion(m);
+ } catch (ParseException pe) {
+ }
}
if (!was_dirty)
set_clean();
@@ -886,7 +891,12 @@ public class TeleGPSConfigUI
}
public int tracker_motion() throws AltosConfigDataException {
- return (int) AltosConvert.height.parse(tracker_motion_value.getSelectedItem().toString());
+ String str = tracker_motion_value.getSelectedItem().toString();
+ try {
+ return (int) (AltosConvert.height.parse_locale(str) + 0.5);
+ } catch (ParseException pe) {
+ throw new AltosConfigDataException("invalid tracker motion %s", str);
+ }
}
public void set_tracker_interval(int tracker_interval) {