From 1a89d47dcb393c9d68bf1322dfb31e38ac2aa483 Mon Sep 17 00:00:00 2001 From: pk910 Date: Tue, 28 Jun 2011 22:58:06 +0200 Subject: [PATCH] fixed last commit --- ircd/channel.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ircd/channel.c b/ircd/channel.c index f8f5239..65d37b2 100644 --- a/ircd/channel.c +++ b/ircd/channel.c @@ -3497,7 +3497,7 @@ mode_process_clients(struct ParseState *state) SetOpLevel(member, OpLevel(state->member) + 1); } - ulong64 old_status = member->status; + int user_visible = (member->status & CHFL_VOICED_OR_OPPED); /* actually effect the change */ if (state->flags & MODE_PARSE_SET) { @@ -3520,9 +3520,9 @@ mode_process_clients(struct ParseState *state) if((member->channel->mode.mode & MODE_AUDITORIUM)) { //join or part the user - if((member->status & CHFL_VOICED_OR_OPPED) & !(old_status & CHFL_VOICED_OR_OPPED)) { + if((member->status & CHFL_VOICED_OR_OPPED) && !user_visible) { sendcmdto_channel_butserv_butone(member->user, CMD_JOIN, member->channel, member->user, SKIP_OPS, ":%H", member->channel); - } else if(!(member->status & CHFL_VOICED_OR_OPPED) & (old_status & CHFL_VOICED_OR_OPPED)) { + } else if(!(member->status & CHFL_VOICED_OR_OPPED) && user_visible) { sendcmdto_channel_butserv_butone(member->user, CMD_PART, member->channel, member->user, SKIP_OPS, "%H :%s", member->channel, "user deoped/devoiced on a +u channel."); } if(MyUser(member->user) && (state->cli_change[i].flag & MODE_CHANOP)) { -- 2.20.1