diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-01-05 16:57:42 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-01-05 16:57:42 +0000 |
commit | ef8c1e5e6542a4cb9f24ab0a3a480ca1c0230e86 (patch) | |
tree | 1a35e191bf924c5f4736af30d152094e2bcee4a6 | |
parent | d138843fe0b95bbb1d58baf8c0886a6b3622d0d0 (diff) |
Fix a bug (snotices repeating constantly), and add a flush timer (1x5 seconds)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8639 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | include/snomasks.h | 7 | ||||
-rw-r--r-- | src/snomasks.cpp | 8 |
2 files changed, 11 insertions, 4 deletions
diff --git a/include/snomasks.h b/include/snomasks.h index 2f53443f0..a6a1f2d82 100644 --- a/include/snomasks.h +++ b/include/snomasks.h @@ -25,9 +25,6 @@ class Snomask private: InspIRCd *ServerInstance; - /** Sends out a pending message - */ - void Flush(); public: char MySnomask; std::string Description; @@ -46,6 +43,10 @@ class Snomask /** Sends a message to all opers with this snomask. */ void SendMessage(const std::string &message); + + /** Sends out a pending message + */ + void Flush(); }; /** A list of snomasks which are valid, and their descriptive texts diff --git a/src/snomasks.cpp b/src/snomasks.cpp index 2af5fc801..97de1ebf5 100644 --- a/src/snomasks.cpp +++ b/src/snomasks.cpp @@ -30,6 +30,10 @@ SnomaskManager::~SnomaskManager() void SnomaskManager::FlushSnotices() { // stub.. not yet written XXX + for (std::map<char, Snomask *>::iterator i = SnoMasks.begin(); i != SnoMasks.end(); i++) + { + i->second->Flush(); + } } bool SnomaskManager::EnableSnomask(char letter, const std::string &type) @@ -106,7 +110,6 @@ void Snomask::SendMessage(const std::string &message) { this->Flush(); LastMessage = message; - Count = 1; } else { @@ -134,4 +137,7 @@ void Snomask::Flush() } } } + + LastMessage = ""; + Count = 1; } |