From f57128cae925df888e1e0cafb9ba988c665ecff8 Mon Sep 17 00:00:00 2001 From: Michael Terry Date: Tue, 28 Jun 2011 15:32:04 +0100 Subject: update to handle latest gnome-settings-daemon dbus API for setting timezones; be more fool-proof when looking up current timezone in indicator --- src/indicator-datetime.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'src/indicator-datetime.c') diff --git a/src/indicator-datetime.c b/src/indicator-datetime.c index 800fa87..cd1fbb9 100644 --- a/src/indicator-datetime.c +++ b/src/indicator-datetime.c @@ -761,11 +761,18 @@ set_label_to_time_in_zone (IndicatorDatetime * self, GtkLabel * label, GTimeZone * tz, const gchar * format, GDateTime ** datetime) { + gboolean unref_tz = FALSE; + if (tz == NULL) { + gchar * zone = read_timezone (); + if (zone == NULL) + return; + tz = g_time_zone_new(zone); + unref_tz = TRUE; + g_free (zone); + } + GDateTime * datetime_now; - if (tz == NULL) - datetime_now = g_date_time_new_now_local(); - else - datetime_now = g_date_time_new_now(tz); + datetime_now = g_date_time_new_now(tz); gchar * timestr; if (format == NULL) { @@ -793,6 +800,9 @@ set_label_to_time_in_zone (IndicatorDatetime * self, GtkLabel * label, else g_date_time_unref(datetime_now); + if (unref_tz) + g_time_zone_unref(tz); + return; } -- cgit v1.2.3