diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-07-24 16:06:22 +0200 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-07-24 16:06:22 +0200 | 
| commit | 03f38289e15c27b93f8fdecf22a03353e4d01096 (patch) | |
| tree | 500a849a6e92779ab5386bff0fa0b169487d073b /irc_im.c | |
| parent | c8791f25459aeb32f770c46bd3a3613c9fd2d0e2 (diff) | |
Adding protocol-specific chatroom settings. First one to use this: AIM
chatrooms to use exchange numbers other than 4.
Diffstat (limited to 'irc_im.c')
| -rw-r--r-- | irc_im.c | 11 | 
1 files changed, 9 insertions, 2 deletions
| @@ -692,7 +692,7 @@ static gboolean bee_irc_channel_chat_join( irc_channel_t *ic )  			nick = ic->irc->user->nick;  		ic->flags |= IRC_CHANNEL_CHAT_PICKME; -		acc->prpl->chat_join( acc->ic, room, nick, NULL ); +		acc->prpl->chat_join( acc->ic, room, nick, NULL, &ic->set );  		ic->flags &= ~IRC_CHANNEL_CHAT_PICKME;  		return FALSE; @@ -787,7 +787,7 @@ static gboolean bee_irc_channel_init( irc_channel_t *ic )  static char *set_eval_room_account( set_t *set, char *value )  {  	struct irc_channel *ic = set->data; -	account_t *acc; +	account_t *acc, *oa;  	if( !( acc = account_get( ic->irc->b, value ) ) )  		return SET_INVALID; @@ -797,6 +797,13 @@ static char *set_eval_room_account( set_t *set, char *value )  		return SET_INVALID;  	} +	if( set->value && ( oa = account_get( ic->irc->b, set->value ) ) && +	    oa->prpl->chat_free_settings ) +		oa->prpl->chat_free_settings( oa, &ic->set ); +	 +	if( acc->prpl->chat_add_settings ) +		acc->prpl->chat_add_settings( acc, &ic->set ); +	  	return g_strdup_printf( "%s(%s)", acc->prpl->name, acc->user );  } | 
