summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864>2009-02-11 00:12:20 +0000
committerrburchell <rburchell@5417fbe8-f217-4b02-8779-1006273d7864>2009-02-11 00:12:20 +0000
commit87ce2aa25d2cb8d01215597a3d071ae0a3927ea4 (patch)
treef582e600e24288488c8880f1bc26ede89a02839b
parent87c8744724cc43ac8cd45b09967227514da064a0 (diff)
Partial patch by Adam, commenting fix for #1006 for future reference.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2002 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r--src/channels.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/channels.c b/src/channels.c
index b49eebf5b..413ba3a53 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -298,7 +298,15 @@ void chan_set_modes(const char *source, Channel * chan, int ac, const char **av,
if (check < 2)
chan_set_correct_modes(user, chan, 0);
else if ((chan->ci->flags) && (chan->ci->flags & CI_SECUREOPS))
+ {
+ /* Fixing bug #1006 oringinally caused by fixing #922
+ * we must check for secureops here, not in chan_set_correct_modes
+ * because chan_set_corret_modes will also check for usercount == 1
+ * where it will deop the user, this way we know the channel was not
+ * just created. (check == 3 from /cs (half)op) - Adam
+ */
chan_set_correct_modes(user, chan, 0);
+ }
}
real_av++;