diff options
author | Adam <Adam@anope.org> | 2014-01-04 17:45:58 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2014-01-04 17:45:58 -0500 |
commit | 45c0bf8f3289f664853dbf36cd33473c01653da1 (patch) | |
tree | c18d8396f151a211c8b0ff7016bd532ad6aec2e2 /modules | |
parent | d64855b35b27cc474ce03bcc5809fcf0cd8e11cf (diff) |
Fix recovering enforcers not properly quitting them
Diffstat (limited to 'modules')
-rw-r--r-- | modules/pseudoclients/nickserv.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/modules/pseudoclients/nickserv.cpp b/modules/pseudoclients/nickserv.cpp index f40a5339b..04ea411c4 100644 --- a/modules/pseudoclients/nickserv.cpp +++ b/modules/pseudoclients/nickserv.cpp @@ -56,11 +56,13 @@ class NickServHeld : public Timer } }; +class NickServRelease; +static Anope::map<NickServRelease *> NickServReleases; + /** Timer for releasing nicks to be available for use */ class NickServRelease : public User, public Timer { - static std::map<Anope::string, NickServRelease *> NickServReleases; Anope::string nick; public: @@ -68,7 +70,7 @@ class NickServRelease : public User, public Timer Config->GetModule("nickserv")->Get<const Anope::string>("enforcerhost"), "", "", Me, "Services Enforcer", Anope::CurTime, "", Servers::TS6_UID_Retrieve(), NULL), Timer(delay), nick(na->nick) { /* Erase the current release timer and use the new one */ - std::map<Anope::string, NickServRelease *>::iterator nit = NickServReleases.find(this->nick); + Anope::map<NickServRelease *>::iterator nit = NickServReleases.find(this->nick); if (nit != NickServReleases.end()) { IRCD->SendQuit(nit->second, ""); @@ -82,15 +84,12 @@ class NickServRelease : public User, public Timer ~NickServRelease() { + IRCD->SendQuit(this, ""); NickServReleases.erase(this->nick); } - void Tick(time_t t) - { - IRCD->SendQuit(this, ""); - } + void Tick(time_t t) anope_override { } }; -std::map<Anope::string, NickServRelease *> NickServRelease::NickServReleases; class NickServCore : public Module, public NickServService { |