aboutsummaryrefslogtreecommitdiff
path: root/src/indicator-datetime.c
diff options
context:
space:
mode:
authorTed Gould <ted@gould.cx>2011-09-29 15:36:39 -0500
committerTed Gould <ted@gould.cx>2011-09-29 15:36:39 -0500
commit4e2dc05c209906b1a0d01b1c9f12c26a8ce2cd6d (patch)
treea20803b6ae442a06f1227bcf067cdf7ccb10b8e4 /src/indicator-datetime.c
parent1e2f73f716198aec43b76570e1926d73ddfeca19 (diff)
parentc2fbaa0add265eab4a5c493d97fa80efc75a526a (diff)
downloadayatana-indicator-datetime-4e2dc05c209906b1a0d01b1c9f12c26a8ce2cd6d.tar.gz
ayatana-indicator-datetime-4e2dc05c209906b1a0d01b1c9f12c26a8ce2cd6d.tar.bz2
ayatana-indicator-datetime-4e2dc05c209906b1a0d01b1c9f12c26a8ce2cd6d.zip
Import upstream version 0.3.0
Diffstat (limited to 'src/indicator-datetime.c')
-rw-r--r--src/indicator-datetime.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/indicator-datetime.c b/src/indicator-datetime.c
index 339ea2f..8e5f421 100644
--- a/src/indicator-datetime.c
+++ b/src/indicator-datetime.c
@@ -1092,12 +1092,14 @@ guess_label_size (IndicatorDatetime * self)
g_debug("Checking against %d possible times", timevals->len);
gint check_time;
for (check_time = 0; check_time < timevals->len; check_time++) {
- gchar longstr[256];
- strftime(longstr, 256, self->priv->time_string, &(g_array_index(timevals, struct tm, check_time)));
+ struct tm * timeval = &g_array_index(timevals, struct tm, check_time);
+ GDateTime * dt = g_date_time_new_local(timeval->tm_year, timeval->tm_mon, timeval->tm_mday, timeval->tm_hour, timeval->tm_min, timeval->tm_sec);
+ gchar * timestr = g_date_time_format(dt, self->priv->time_string);
- gchar * utf8 = g_locale_to_utf8(longstr, -1, NULL, NULL, NULL);
- gint length = measure_string(style, context, utf8);
- g_free(utf8);
+ gint length = measure_string(style, context, timestr);
+
+ g_free(timestr);
+ g_date_time_unref(dt);
if (length > *max_width) {
*max_width = length;