summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAttila Molnar <attilamolnar@hush.com>2014-09-04 13:33:45 +0200
committerAttila Molnar <attilamolnar@hush.com>2014-09-04 13:33:45 +0200
commit0f15b0869703c20277c181f95ed38f2b2a5c1e04 (patch)
tree954a3195a5854706065ed5ba25cd0f5037ea0f0f /src
parent3eda212c2ad561fae6a7d8cf20280da9d37a90f4 (diff)
cmd_mode Exempt remote users and servers from max modes limitation when changing user modes
Diffstat (limited to 'src')
-rw-r--r--src/coremods/core_user/cmd_mode.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/coremods/core_user/cmd_mode.cpp b/src/coremods/core_user/cmd_mode.cpp
index 99b9ab20d..f1e857fc1 100644
--- a/src/coremods/core_user/cmd_mode.cpp
+++ b/src/coremods/core_user/cmd_mode.cpp
@@ -84,7 +84,10 @@ CmdResult CommandMode::Handle(const std::vector<std::string>& parameters, User*
else
flags |= ModeParser::MODE_LOCALONLY;
- ServerInstance->Modes->ProcessSingle(user, targetchannel, targetuser, changelist, flags);
+ if (IS_LOCAL(user))
+ ServerInstance->Modes->ProcessSingle(user, targetchannel, targetuser, changelist, flags);
+ else
+ ServerInstance->Modes->Process(user, targetchannel, targetuser, changelist, flags);
if ((ServerInstance->Modes.GetLastParse().empty()) && (targetchannel) && (parameters.size() == 2))
{