fix the NaN in gps
authorRodrigo Linfati <rodrigo@linfati.cl>
Wed, 26 Jan 2011 16:23:14 +0000 (17:23 +0100)
committerRodrigo Linfati <rodrigo@linfati.cl>
Wed, 26 Jan 2011 16:23:14 +0000 (17:23 +0100)
src/gps.cpp

index cd87f24..05fd97d 100644 (file)
@@ -49,6 +49,8 @@ void GpsMaemo5::stop() {
 void GpsMaemo5::forcestop() {
     qDebug() << "GpsMaemo5: forcestop";
     stopgps = true;
+    emitfix = false;
+    stop();
 }
 
 int GpsMaemo5::config(int i, int w, bool g) {
@@ -64,6 +66,7 @@ int GpsMaemo5::config(int i, int w, bool g) {
 void GpsMaemo5_changed(LocationGPSDevice *device, GpsMaemo5 *gps) {
     if (device->fix) {
         if (device->fix->fields) {
+            if ( isnan(gps->device->fix->eph) ) return;
             g_print("GpsMaemo5 lat %f lon %f eph %f\n", gps->device->fix->latitude, gps->device->fix->longitude, gps->device->fix->eph/100.);
             gps->latitude = gps->device->fix->latitude;
             gps->longitude = gps->device->fix->longitude;