diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-06-05 02:07:04 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-06-05 02:07:04 +0100 |
commit | cf1a9790b4b933f7727c1362285f529f45a755c0 (patch) | |
tree | 135aca8483a360aea0f4c1e1fe74a21613ba01ba /irc_channel.c | |
parent | c133d4b82b205b515e0c43be9f9b92ac3dbcd9ce (diff) |
Bug fixes, control channel behaviour is mostly okay again.
Diffstat (limited to 'irc_channel.c')
-rw-r--r-- | irc_channel.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/irc_channel.c b/irc_channel.c index 8ef7f7d1..64bbd614 100644 --- a/irc_channel.c +++ b/irc_channel.c @@ -310,6 +310,10 @@ static gboolean control_channel_init( irc_channel_t *ic ) { set_setstr( &ic->set, "fill_by", "account" ); } + else + { + bee_irc_channel_update( ic->irc, ic, NULL ); + } return TRUE; } @@ -324,7 +328,8 @@ static char *set_eval_by_account( set_t *set, char *value ) return SET_INVALID; icc->account = acc; - bee_irc_channel_update( ic->irc, ic, NULL ); + if( icc->type == IRC_CC_TYPE_ACCOUNT ) + bee_irc_channel_update( ic->irc, ic, NULL ); return g_strdup_printf( "%s(%s)", acc->prpl->name, acc->user ); } @@ -344,6 +349,7 @@ static char *set_eval_fill_by( set_t *set, char *value ) else return SET_INVALID; + bee_irc_channel_update( ic->irc, ic, NULL ); return value; } @@ -353,7 +359,8 @@ static char *set_eval_by_group( set_t *set, char *value ) struct irc_control_channel *icc = ic->data; icc->group = bee_group_by_name( ic->irc->b, value, TRUE ); - bee_irc_channel_update( ic->irc, ic, NULL ); + if( icc->type == IRC_CC_TYPE_GROUP ) + bee_irc_channel_update( ic->irc, ic, NULL ); return g_strdup( icc->group->name ); } |