X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcclient%2Fclient_channel.c;h=4f89d7270b01458f2fc23a81516c8d4aab10d099;hb=70b2a4866e58a45bc339f9fbb5622b9ffd71a0d4;hp=0ac903df235e6727a05140d795d23ac881e36cf0;hpb=2b52a79c3e8de9ebd75a4ed30dfac82065c9aea4;p=silc.git diff --git a/lib/silcclient/client_channel.c b/lib/silcclient/client_channel.c index 0ac903df..4f89d727 100644 --- a/lib/silcclient/client_channel.c +++ b/lib/silcclient/client_channel.c @@ -177,6 +177,16 @@ static void silc_client_channel_message_cb(SilcClient client, if (!channel) goto out; + /* If this client is not on channel, add it there since it clearly + is there. */ + if (!silc_client_on_channel(channel, clients[0])) { + SilcChannelUser chu = silc_calloc(1, sizeof(*chu)); + chu->client = clients[0]; + chu->channel = channel; + silc_hash_table_add(channel->user_list, clients[0], chu); + silc_hash_table_add(clients[0]->channels, channel, chu); + } + message = silc_channel_message_get_data(res->payload, NULL); /* Pass the message to application */