diff options
-rw-r--r-- | include/mode.h | 4 | ||||
-rw-r--r-- | src/mode.cpp | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/include/mode.h b/include/mode.h index 596a7bcbe..981c29a27 100644 --- a/include/mode.h +++ b/include/mode.h @@ -535,6 +535,10 @@ class CoreExport ModeParser : public fakederef<ModeParser> */ std::multimap<std::string, ModeWatcher*> modewatchermap; + /** Last processed mode change + */ + Modes::ChangeList LastChangeList; + /** Displays the current modes of a channel or user. * Used by ModeParser::Process. */ diff --git a/src/mode.cpp b/src/mode.cpp index 4c31a94d7..b684af885 100644 --- a/src/mode.cpp +++ b/src/mode.cpp @@ -375,6 +375,7 @@ void ModeParser::Process(const std::vector<std::string>& parameters, User* user, LastParse.clear(); LastParseParams.clear(); LastParseTranslate.clear(); + LastChangeList.clear(); if ((!targetchannel) && ((!targetuser) || (IS_SERVER(targetuser)))) { @@ -474,6 +475,7 @@ void ModeParser::Process(const std::vector<std::string>& parameters, User* user, LastParseParams.push_back(parameter); LastParseTranslate.push_back(mh->GetTranslateType()); } + LastChangeList.push(mh, adding, parameter); if ((output_mode.length() + output_parameters.length() > 450) || (output_mode.length() > 100) |