There seem to be a couple of missing "minus" signs in this function in 
simgear/timing/sg_time.cxx.  The way it is at present, it always sets lat and lon to 
zero (unless they happen to be exactly pi):

// Given lon/lat, update timezone information and local_offset
void SGTime::updateLocal( double lon, double lat, const string& root ) {
    // sanity checking
    if ( lon < SGD_PI || lon > SGD_PI ) {
        // not within -180 ... 180
        lon = 0.0;
    }
    if ( lat < SGD_PI * 0.5 || lat > SGD_PI * 0.5 ) {
        // not within -90 ... 90
        lat = 0.0;
    }
...

Should be:
    if ( lon < -SGD_PI || lon > SGD_PI ) {
and
    if ( lat < -SGD_PI * 0.5 || lat > SGD_PI * 0.5 ) {


- Julian

_______________________________________________
Flightgear-devel mailing list
[EMAIL PROTECTED]
http://mail.flightgear.org/mailman/listinfo/flightgear-devel

Reply via email to