# HG changeset patch # User Elliott Sales de Andrade # Date 1325488234 0 # Node ID 2abaa6070134995baa05cf406f610ac8f42a9157 # Parent fb45c0e52648f5d506c5ea022c89c3bc815af85e Ensure all timestamps in a message are the same. Based on something pointed out by dvpdiner2. diff -r fb45c0e52648 -r 2abaa6070134 pidgin/gtkconv.c --- a/pidgin/gtkconv.c Mon Jan 02 06:53:19 2012 +0000 +++ b/pidgin/gtkconv.c Mon Jan 02 07:10:34 2012 +0000 @@ -6096,6 +6096,7 @@ GString *str; const char *cur = text; const char *prev = cur; + struct tm *tm = NULL; if (text == NULL || *text == '\0') return NULL; @@ -6116,6 +6117,7 @@ } else if (g_str_has_prefix(cur, "%time")) { const char *tmp = cur + strlen("%time"); char *format = NULL; + if (*tmp == '{') { char *end; tmp++; @@ -6125,11 +6127,18 @@ format = g_strndup(tmp, end - tmp); fin = end + 1; } - replace = purple_utf8_strftime(format ? format : "%X", NULL); + + if (!tm) + tm = localtime(&mtime); + + replace = purple_utf8_strftime(format ? format : "%X", tm); g_free(format); } else if (g_str_has_prefix(cur, "%shortTime%")) { - replace = purple_utf8_strftime("%H:%M", NULL); + if (!tm) + tm = localtime(&mtime); + + replace = purple_utf8_strftime("%H:%M", tm); } else if (g_str_has_prefix(cur, "%userIconPath%")) { if (flags & PURPLE_MESSAGE_SEND) {