aboutsummaryrefslogtreecommitdiffstats
path: root/irc_channel.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-06-05 02:07:04 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2010-06-05 02:07:04 +0100
commitcf1a9790b4b933f7727c1362285f529f45a755c0 (patch)
tree135aca8483a360aea0f4c1e1fe74a21613ba01ba /irc_channel.c
parentc133d4b82b205b515e0c43be9f9b92ac3dbcd9ce (diff)
Bug fixes, control channel behaviour is mostly okay again.
Diffstat (limited to 'irc_channel.c')
-rw-r--r--irc_channel.c11
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 );
}