diff options
| author | 2013-06-13 18:15:34 +0200 | |
|---|---|---|
| committer | 2013-06-13 18:15:34 +0200 | |
| commit | 3624c137a6db85eaab0372550c9dca79d6d21e55 (patch) | |
| tree | cdfd14b2522583e057db26a2104397c05dc56c68 /src/modules/m_spanningtree/fjoin.cpp | |
| parent | m_spanningtree Move SVSMODE -> MODE translation into the appropiate place, ig... (diff) | |
| download | inspircd++-3624c137a6db85eaab0372550c9dca79d6d21e55.tar.gz inspircd++-3624c137a6db85eaab0372550c9dca79d6d21e55.tar.bz2 inspircd++-3624c137a6db85eaab0372550c9dca79d6d21e55.zip | |
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()); } } |
