From 41981bfa5f9880d2605122c1ba8faccee6a2cd5f Mon Sep 17 00:00:00 2001 From: Ferdinand Stehle Date: Sun, 31 Jan 2016 02:02:21 +0100 Subject: [PATCH] set receiver to channel target if sender equals self --- telepathy-logger/text-channel.c | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/telepathy-logger/text-channel.c b/telepathy-logger/text-channel.c index 8712cd5..e9c4b4c 100644 --- a/telepathy-logger/text-channel.c +++ b/telepathy-logger/text-channel.c @@ -298,19 +298,31 @@ on_message_received_cb (TpTextChannel *text_chan, TplTextChannel *self = TPL_TEXT_CHANNEL (text_chan); TplTextChannelPriv *priv = self->priv; TplEntity *receiver; - TplEntity *sender; - - if (priv->is_chatroom) - receiver = priv->remote; - else - receiver = priv->self; + TplEntity *sender, *realsender; sender = tpl_entity_new_from_tp_contact ( tp_signalled_message_get_sender (TP_MESSAGE (message)), TPL_ENTITY_CONTACT); + if (priv->is_chatroom) + { + receiver = priv->remote; + realsender = sender; + } + /* set receiver to channel remote if this message is sent by myself */ + else if (g_strcmp0(tpl_entity_get_identifier(sender), tpl_entity_get_identifier(priv->self)) == 0) + { + receiver = priv->remote; + realsender = priv->self; + } + else + { + receiver = priv->self; + realsender = sender; + } + tpl_text_channel_store_message (self, TP_MESSAGE (message), - sender, receiver); + realsender, receiver); g_object_unref (sender); } -- libgit2 0.23.4