updates
authorPekka Riikonen <priikone@silcnet.org>
Thu, 14 Feb 2002 15:03:32 +0000 (15:03 +0000)
committerPekka Riikonen <priikone@silcnet.org>
Thu, 14 Feb 2002 15:03:32 +0000 (15:03 +0000)
CHANGES
lib/silcclient/client_channel.c

diff --git a/CHANGES b/CHANGES
index b42eb8840ee4bfdebc7c4ea208e764df75d50490..3a5df3570e9d9cc54bb49ac5f301b2aeac538f8c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,9 @@
+Thu Feb 14 16:02:26 CET 2002  Pekka Riikonen <priikone@silcnet.org>
+
+       * Add the client on channel after it was resolved at the
+         channel message receiving, and it was not already on the
+         channel.  Affected file lib/silcclient/client_channel.c.
+
 Wed Feb 13 23:16:41 EET 2002  Pekka Riikonen <priikone@silcnet.org>
 
        * Fixed the public key authentication to allocate always the
index 0ac903df235e6727a05140d795d23ac881e36cf0..4f89d7270b01458f2fc23a81516c8d4aab10d099 100644 (file)
@@ -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 */