summaryrefslogtreecommitdiff
path: root/src/mode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mode.cpp')
-rw-r--r--src/mode.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mode.cpp b/src/mode.cpp
index 65ec7e614..14b465c6e 100644
--- a/src/mode.cpp
+++ b/src/mode.cpp
@@ -486,7 +486,7 @@ void ModeParser::Process(const std::vector<std::string>& parameters, User *user,
{
type = MODETYPE_USER;
mask = MASK_USER;
- if ((user != targetuser) && (!ServerInstance->ULine(user->server)))
+ if (user != targetuser && IS_LOCAL(user) && !ServerInstance->ULine(user->server))
{
user->WriteNumeric(ERR_USERSDONTMATCH, "%s :Can't change mode for other users", user->nick.c_str());
return;
@@ -1165,7 +1165,7 @@ void ModeHandler::RemoveMode(User* user, irc::modestacker* stack)
sprintf(moderemove,"-%c",this->GetModeChar());
parameters.push_back(user->nick);
parameters.push_back(moderemove);
- ServerInstance->Parser->CallHandler("MODE", parameters, user);
+ ServerInstance->Modes->Process(parameters, ServerInstance->FakeClient, false);
}
}
}