diff -up gnome-panel-2.21.91/applets/clock/clock-location.c.dst-offset gnome-panel-2.21.91/applets/clock/clock-location.c --- gnome-panel-2.21.91/applets/clock/clock-location.c.dst-offset 2008-02-19 22:18:55.000000000 -0500 +++ gnome-panel-2.21.91/applets/clock/clock-location.c 2008-02-19 22:19:03.000000000 -0500 @@ -645,17 +645,30 @@ glong clock_location_get_offset (ClockLocation *loc) { ClockLocationPrivate *priv = PRIVATE (loc); - glong sys_timezone; + glong sys_timezone, local_timezone; glong offset; + time_t t; + struct tm *tm; + t = time (NULL); + unsetenv ("TZ"); - tzset (); + tm = localtime (&t); sys_timezone = timezone; + if (tm->tm_isdst > 0) { + sys_timezone -= 3600; + } + setenv ("TZ", priv->timezone, 1); - tzset(); + tm = localtime (&t); + local_timezone = timezone; + + if (tm->tm_isdst > 0) { + local_timezone -= 3600; + } - offset = timezone - sys_timezone; + offset = local_timezone - sys_timezone; if (priv->sys_timezone) { setenv ("TZ", priv->sys_timezone, 1);