Yes, I've confirmed with a look at the code that there's no timezone-mapping database. The coordinates are not "parsed incorrectly", however; the trouble is this:
for (l = zones; l; l = l->next) { ClockZoneInfo *info = l->data; clock_zoneinfo_get_coords (info, &zlat, &zlon);
d = distance (lat, lon, zlat*M_PI/180.0, zlon*M_PI/180.0);
if (d < dist) { best = info; dist = d;
}
}
The default timezone is calculated using nothing more than the raw distance to the cities after which the timezones are named. This is nonsense, this is obviously not how timezones are divided.
It would be far better for the location selector to not provide a default timezone at all, rather than configuring a wrong one.
This may become a non-issue if bug #199644 is fixed.
Yes, I've confirmed with a look at the code that there's no timezone-mapping database. The coordinates are not "parsed incorrectly", however; the trouble is this:
for (l = zones; l; l = l->next) {
ClockZoneInfo *info = l->data;
clock_ zoneinfo_ get_coords (info, &zlat, &zlon);
d = distance (lat, lon, zlat*M_PI/180.0, zlon*M_PI/180.0);
if (d < dist) {
best = info;
dist = d;
}
}
The default timezone is calculated using nothing more than the raw distance to the cities after which the timezones are named. This is nonsense, this is obviously not how timezones are divided.
It would be far better for the location selector to not provide a default timezone at all, rather than configuring a wrong one.
This may become a non-issue if bug #199644 is fixed.