diff options
author | attilamolnar <attilamolnar@hush.com> | 2013-06-13 18:15:34 +0200 |
---|---|---|
committer | attilamolnar <attilamolnar@hush.com> | 2013-06-13 18:15:34 +0200 |
commit | 3624c137a6db85eaab0372550c9dca79d6d21e55 (patch) | |
tree | cdfd14b2522583e057db26a2104397c05dc56c68 /src/modules/m_spanningtree/fjoin.cpp | |
parent | b390ded3f3924cbd16a5dab53a981be279360124 (diff) |
Introduce ModeProcessFlags, can be passed to ModeParser::Process() to indicate local only mode changes and mode merges
Change ProtocolInterface::SendMode() to take source and destination parameters, and call it from the mode parser whenever the mode change is global
This deprecates the ambiguous InspIRCd::SendMode() and InspIRCd::SendGlobalMode() interface (the latter sent mode changes originating from local users twice, etc.)
Diffstat (limited to 'src/modules/m_spanningtree/fjoin.cpp')
-rw-r--r-- | src/modules/m_spanningtree/fjoin.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/modules/m_spanningtree/fjoin.cpp b/src/modules/m_spanningtree/fjoin.cpp index b25444cda..faf534542 100644 --- a/src/modules/m_spanningtree/fjoin.cpp +++ b/src/modules/m_spanningtree/fjoin.cpp @@ -130,7 +130,7 @@ CmdResult CommandFJoin::Handle(const std::vector<std::string>& params, User *src /* Remember, params[params.size() - 1] is userlist, and we don't want to apply *that* */ modelist.insert(modelist.end(), params.begin()+2, params.end()-1); - ServerInstance->SendMode(modelist, srcuser); + ServerInstance->Modes->Process(modelist, srcuser, ModeParser::MODE_LOCALONLY | ModeParser::MODE_MERGE); } irc::modestacker modestack(true); @@ -222,7 +222,7 @@ void CommandFJoin::ApplyModeStack(User* srcuser, Channel* c, irc::modestacker& s while (stack.GetStackedLine(stackresult)) { - ServerInstance->SendMode(stackresult, srcuser); + ServerInstance->Modes->Process(stackresult, srcuser, ModeParser::MODE_LOCALONLY); stackresult.erase(stackresult.begin() + 1, stackresult.end()); } } |