aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog10
-rw-r--r--src/datetime-prefs-locations.c4
-rw-r--r--src/datetime-prefs.c4
3 files changed, 14 insertions, 4 deletions
diff --git a/debian/changelog b/debian/changelog
index 12fdb78..dedf4da 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,13 @@
+indicator-datetime (0.3.94-0ubuntu2) precise; urgency=low
+
+ * src/datetime-prefs-locations.c, src/datetime-prefs.c
+ - Switch the parsing of the lat and long to be non-locale based as it's
+ returned from the webservice in C, we want to parse it using the decimal
+ instead of a comma. This fixes incorrect timezone selection for users
+ with a locale that uses a comma as a decimal separator (LP: #773987)
+
+ -- Ken VanDine <ken.vandine@canonical.com> Wed, 18 Apr 2012 23:20:30 -0400
+
indicator-datetime (0.3.94-0ubuntu1) precise; urgency=low
* New upstream release.
diff --git a/src/datetime-prefs-locations.c b/src/datetime-prefs-locations.c
index c0452d0..9f5b42c 100644
--- a/src/datetime-prefs-locations.c
+++ b/src/datetime-prefs-locations.c
@@ -201,8 +201,8 @@ timezone_selected (GtkEntryCompletion * widget, GtkTreeModel * model,
CC_TIMEZONE_COMPLETION_LONGITUDE, &strlon,
-1);
- if (strlat && *strlat) lat = atof(strlat);
- if (strlon && *strlon) lon = atof(strlon);
+ if (strlat && *strlat) lat = g_ascii_strtod(strlat, NULL);
+ if (strlon && *strlon) lon = g_ascii_strtod(strlon, NULL);
CcTimezoneMap * tzmap = CC_TIMEZONE_MAP (g_object_get_data (G_OBJECT (widget), "tzmap"));
g_free (zone);
diff --git a/src/datetime-prefs.c b/src/datetime-prefs.c
index 0e2e99c..c941694 100644
--- a/src/datetime-prefs.c
+++ b/src/datetime-prefs.c
@@ -613,11 +613,11 @@ timezone_selected (GtkEntryCompletion * widget, GtkTreeModel * model,
-1);
if (strlon != NULL && strlon[0] != 0) {
- lon = strtod(strlon, NULL);
+ lon = g_ascii_strtod(strlon, NULL);
}
if (strlat != NULL && strlat[0] != 0) {
- lat = strtod(strlat, NULL);
+ lat = g_ascii_strtod(strlat, NULL);
}
zone = cc_timezone_map_get_timezone_at_coords (self->priv->tzmap, lon, lat);