libpurple/protocols/gg/message-prpl.c

changeset 40541
9ceb8d25d4d9
parent 40538
222423055d93
child 40885
87f6241da196
--- a/libpurple/protocols/gg/message-prpl.c	Sun Sep 27 21:13:04 2020 -0500
+++ b/libpurple/protocols/gg/message-prpl.c	Sat Oct 03 05:58:21 2020 -0500
@@ -235,16 +235,28 @@
 		ggp_chat_got_message(gc, msg->chat_id, msg->text, msg->time,
 			msg->user);
 	} else if (msg->type == GGP_MESSAGE_GOT_TYPE_MULTILOGON) {
+		GDateTime *dt = NULL;
+		PurpleAccount *account = NULL;
 		PurpleIMConversation *im = ggp_message_get_conv(gc, msg->user);
 		PurpleMessage *pmsg;
+		const gchar *me = NULL;
 
-		pmsg = purple_message_new_outgoing(NULL, msg->text, 0);
-		purple_message_set_time(pmsg, msg->time);
+		account = purple_connection_get_account(gc);
+		me = purple_account_get_name_for_display(account);
+
+		pmsg = purple_message_new_outgoing(me, NULL, msg->text, 0);
+
+		dt = g_date_time_new_from_unix_local((gint64)msg->time);
+		purple_message_set_timestamp(pmsg, dt);
+		g_date_time_unref(dt);
 
 		purple_conversation_write_message(PURPLE_CONVERSATION(im), pmsg);
-	} else
+
+		g_object_unref(G_OBJECT(pmsg));
+	} else {
 		purple_debug_error("gg", "ggp_message_got_display: "
 			"unexpected message type: %d\n", msg->type);
+	}
 }
 
 static gboolean ggp_message_format_from_gg_found_img(const GMatchInfo *info,

mercurial