aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy')
-rw-r--r--libempathy/empathy-message.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libempathy/empathy-message.c b/libempathy/empathy-message.c
index f175a45d3..1c18cf53c 100644
--- a/libempathy/empathy-message.c
+++ b/libempathy/empathy-message.c
@@ -784,6 +784,7 @@ empathy_message_new_from_tp_message (TpMessage *tp_msg,
EmpathyMessage *message;
gchar *body;
TpChannelTextMessageFlags flags;
+ gint64 timestamp;
gint64 original_timestamp;
const GHashTable *part = tp_message_peek (tp_msg, 0);
@@ -791,6 +792,10 @@ empathy_message_new_from_tp_message (TpMessage *tp_msg,
body = tp_message_to_text (tp_msg, &flags);
+ timestamp = tp_message_get_sent_timestamp (tp_msg);
+ if (timestamp == 0)
+ timestamp = tp_message_get_received_timestamp (tp_msg);
+
original_timestamp = tp_asv_get_int64 (part,
"original-message-received", NULL);
@@ -799,7 +804,7 @@ empathy_message_new_from_tp_message (TpMessage *tp_msg,
"token", tp_message_get_token (tp_msg),
"supersedes", tp_message_get_supersedes (tp_msg),
"type", tp_message_get_message_type (tp_msg),
- "timestamp", tp_message_get_received_timestamp (tp_msg),
+ "timestamp", timestamp,
"original-timestamp", original_timestamp,
"flags", flags,
"is-backlog", flags & TP_CHANNEL_TEXT_MESSAGE_FLAG_SCROLLBACK,