diff options
-rw-r--r-- | irc_im.c | 3 | ||||
-rw-r--r-- | protocols/account.c | 1 |
2 files changed, 3 insertions, 1 deletions
@@ -136,7 +136,8 @@ static gboolean bee_irc_user_status(bee_t *bee, bee_user_t *bu, bee_user_t *old) one QUIT instead of possibly many (in case of multiple control chans). If there's a channel that shows offline people, a JOIN will follow. */ - if (set_getbool(&bee->set, "offline_user_quits")) { + if (set_getbool(&bee->set, "offline_user_quits") && + set_getbool(&bu->ic->acc->set, "offline_user_quits")) { irc_user_quit(iu, "Leaving..."); } } diff --git a/protocols/account.c b/protocols/account.c index 685d15ec..8fa196d0 100644 --- a/protocols/account.c +++ b/protocols/account.c @@ -74,6 +74,7 @@ account_t *account_add(bee_t *bee, struct prpl *prpl, char *user, char *pass) s = set_add(&a->set, "username", NULL, set_eval_account, a); s->flags |= SET_NOSAVE | ACC_SET_OFFLINE_ONLY | ACC_SET_LOCKABLE; set_setstr(&a->set, "username", user); + set_add(&a->set, "offline_user_quits", "true", set_eval_bool, a); /* Hardcode some more clever tag guesses. */ strcpy(tag, prpl->name); |