src/protocols/silc/ops.c

changeset 9518
7e01d1a4c773
parent 9507
95e6682fea9a
child 9554
1609ba3612c3
--- a/src/protocols/silc/ops.c	Mon Jul 12 19:37:07 2004 +0000
+++ b/src/protocols/silc/ops.c	Mon Jul 12 19:38:05 2004 +0000
@@ -334,6 +334,8 @@
 				   client_entry->nickname, channel->channel_name, tmp);
 			gaim_conv_chat_write(GAIM_CONV_CHAT(convo), client_entry->nickname,
 					     buf, GAIM_MESSAGE_SYSTEM, time(NULL));
+			gaim_conv_chat_set_topic(GAIM_CONV_CHAT(convo),
+									 client_entry->nickname, tmp);
 		} else if (idtype == SILC_ID_SERVER) {
 			server_entry = (SilcServerEntry)entry;
 			g_snprintf(buf, sizeof(buf),
@@ -341,6 +343,8 @@
 				   server_entry->server_name, channel->channel_name, tmp);
 			gaim_conv_chat_write(GAIM_CONV_CHAT(convo), server_entry->server_name,
 					     buf, GAIM_MESSAGE_SYSTEM, time(NULL));
+			gaim_conv_chat_set_topic(GAIM_CONV_CHAT(convo),
+									 server_entry->server_name, tmp);
 		} else if (idtype == SILC_ID_CHANNEL) {
 			channel = (SilcChannelEntry)entry;
 			g_snprintf(buf, sizeof(buf),
@@ -348,10 +352,12 @@
 				   channel->channel_name, channel->channel_name, tmp);
 			gaim_conv_chat_write(GAIM_CONV_CHAT(convo), channel->channel_name,
 					     buf, GAIM_MESSAGE_SYSTEM, time(NULL));
+			gaim_conv_chat_set_topic(GAIM_CONV_CHAT(convo),
+									 channel->channel_name, tmp);
+		} else {
+			gaim_conv_chat_set_topic(GAIM_CONV_CHAT(convo), NULL, tmp);
 		}
 
-		gaim_conv_chat_set_topic(GAIM_CONV_CHAT(convo), NULL, tmp);
-
 		break;
 
 	case SILC_NOTIFY_TYPE_NICK_CHANGE:

mercurial