summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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