aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--widgets/misc/e-dateedit.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/widgets/misc/e-dateedit.c b/widgets/misc/e-dateedit.c
index 84b016934e..1d69016b20 100644
--- a/widgets/misc/e-dateedit.c
+++ b/widgets/misc/e-dateedit.c
@@ -1729,12 +1729,18 @@ e_date_edit_update_date_entry (EDateEdit *dedit)
%x the preferred date representation for the current locale without the time,
but has forced to use 4 digit year */
gchar *format = e_time_get_d_fmt_with_4digit_year ();
+ time_t tt;
tmp_tm.tm_year = priv->year;
tmp_tm.tm_mon = priv->month;
tmp_tm.tm_mday = priv->day;
tmp_tm.tm_isdst = -1;
+ /* initialize all 'struct tm' members properly */
+ tt = mktime (&tmp_tm);
+ if (tt && localtime (&tt))
+ tmp_tm = *localtime (&tt);
+
e_utf8_strftime (buffer, sizeof (buffer), format, &tmp_tm);
g_free (format);
gtk_entry_set_text (GTK_ENTRY (priv->date_entry), buffer);