summaryrefslogtreecommitdiff
path: root/src/channels.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-05-28 22:17:22 -0400
committerAdam <Adam@anope.org>2013-05-28 22:17:22 -0400
commit06bad31b18d0e339b722dd3ce687005dd23cdb19 (patch)
tree7398b997fd0922a2bd0fba15eab882ab257dfbdd /src/channels.cpp
parent576aaff3da727c1a929c28ff0fab064eba4826e4 (diff)
Fix Channel::SetCorrectModes to never remove modes <= voice (currently secureops enforces everything, inclurding voice)
Diffstat (limited to 'src/channels.cpp')
-rw-r--r--src/channels.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/channels.cpp b/src/channels.cpp
index 8e391699e..0a2f73ce1 100644
--- a/src/channels.cpp
+++ b/src/channels.cpp
@@ -856,7 +856,13 @@ void Channel::SetCorrectModes(User *user, bool give_modes)
given = true;
}
else if (take_modes && !has_priv)
- this->RemoveMode(NULL, cm, user->GetUID());
+ {
+ /* Only remove modes if they are > voice */
+ if (cm->name == "VOICE")
+ take_modes = false;
+ else
+ this->RemoveMode(NULL, cm, user->GetUID());
+ }
}
// Check mlock