aboutsummaryrefslogtreecommitdiffstats
path: root/irc_channel.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2015-07-29 00:41:24 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2015-07-29 00:41:24 +0100
commit24de9fa0c79027094383aa0c247e48a4bc6753d3 (patch)
tree801ece5671a739ecc63719ce6c69c61f6e6e65bc /irc_channel.c
parent77ed9b724d1bff2a409642795ae81f974b8c312f (diff)
Restore old autojoin logic and a hopefully better fix for the problem
jgeboski was trying to solve. #1221 for details.
Diffstat (limited to 'irc_channel.c')
-rw-r--r--irc_channel.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/irc_channel.c b/irc_channel.c
index acae85a7..3de68e34 100644
--- a/irc_channel.c
+++ b/irc_channel.c
@@ -444,10 +444,10 @@ void irc_channel_auto_joins(irc_t *irc, account_t *acc)
can only auto-join them if their account is online. */
char *acc_s;
- if (!aj || (ic->flags & IRC_CHANNEL_JOINED)) {
- /* Only continue if this one's marked as auto_join
- or if we're in it already. (Possible if the
- client auto-rejoined it before identyfing.) */
+ if (!aj && !(ic->flags & IRC_CHANNEL_JOINED)) {
+ /* Only proceed if this one's marked as auto_join
+ or if we're in it already. (Very likely the IRC
+ client auto-(re)joining at reconnect time.) */
continue;
} else if (!(acc_s = set_getstr(&ic->set, "account"))) {
continue;