diff options
Diffstat (limited to 'protocols')
| -rw-r--r-- | protocols/purple/purple.c | 16 | 
1 files changed, 16 insertions, 0 deletions
| diff --git a/protocols/purple/purple.c b/protocols/purple/purple.c index 63f6cb8f..6c8ddf0d 100644 --- a/protocols/purple/purple.c +++ b/protocols/purple/purple.c @@ -683,6 +683,21 @@ void purple_chat_invite(struct groupchat *gc, char *who, char *message)  	                 who);  } +void purple_chat_set_topic(struct groupchat *gc, char *topic) +{ +	PurpleConversation *pc = gc->data; +	PurpleConvChat *pcc = PURPLE_CONV_CHAT(pc); +	struct purple_data *pd = gc->ic->proto_data; +	PurplePlugin *prpl = purple_plugins_find_with_id(pd->account->protocol_id); +	PurplePluginProtocolInfo *pi = prpl->info->extra_info; + +	if (pi->set_chat_topic) { +		pi->set_chat_topic(purple_account_get_connection(pd->account), +		                   purple_conv_chat_get_id(pcc), +		                   topic); +	} +} +  void purple_chat_kick(struct groupchat *gc, char *who, const char *message)  {  	PurpleConversation *pc = gc->data; @@ -1651,6 +1666,7 @@ void purple_initmodule()  	funcs.chat_msg = purple_chat_msg;  	funcs.chat_with = purple_chat_with;  	funcs.chat_invite = purple_chat_invite; +	funcs.chat_topic = purple_chat_set_topic;  	funcs.chat_kick = purple_chat_kick;  	funcs.chat_leave = purple_chat_leave;  	funcs.chat_join = purple_chat_join; | 
