aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--irc_im.c3
-rw-r--r--protocols/account.c1
2 files changed, 3 insertions, 1 deletions
diff --git a/irc_im.c b/irc_im.c
index f4b7d63f..3e9b2467 100644
--- a/irc_im.c
+++ b/irc_im.c
@@ -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);