gnome-panel r10862 - trunk/applets/clock
- From: matthiasc svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-panel r10862 - trunk/applets/clock
- Date: Wed, 20 Feb 2008 16:48:44 +0000 (GMT)
Author: matthiasc
Date: Wed Feb 20 16:48:44 2008
New Revision: 10862
URL: http://svn.gnome.org/viewvc/gnome-panel?rev=10862&view=rev
Log:
2008-02-20 Matthias Clasen <mclasen redhat com>
* clock-location.c (clock_location_get_offset): Take daylight
savings time into account.
Modified:
trunk/applets/clock/ChangeLog
trunk/applets/clock/clock-location.c
Modified: trunk/applets/clock/clock-location.c
==============================================================================
--- trunk/applets/clock/clock-location.c (original)
+++ trunk/applets/clock/clock-location.c Wed Feb 20 16:48:44 2008
@@ -645,17 +645,30 @@
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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]