From 7c55dfc7887b2ca91e4ebdf9f2733de8adb56e18 Mon Sep 17 00:00:00 2001 From: danieldg Date: Fri, 16 Oct 2009 15:43:53 +0000 Subject: Clean up crash on destruction of statics at exit git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11877 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/m_banexception.cpp | 8 +------- src/modules/m_inviteexception.cpp | 10 +--------- src/modules/m_namedmodes.cpp | 5 +++++ 3 files changed, 7 insertions(+), 16 deletions(-) (limited to 'src/modules') diff --git a/src/modules/m_banexception.cpp b/src/modules/m_banexception.cpp index aac8fe776..5059fbbed 100644 --- a/src/modules/m_banexception.cpp +++ b/src/modules/m_banexception.cpp @@ -44,7 +44,6 @@ public: { if (!ServerInstance->Modes->AddMode(&be)) throw ModuleException("Could not add new modes!"); - ServerInstance->Modules->PublishInterface("ChannelBanList", this); be.DoImplements(this); Implementation list[] = { I_OnRehash, I_On005Numeric, I_OnExtBanCheck, I_OnCheckChannelBan }; @@ -123,12 +122,7 @@ public: Version GetVersion() { - return Version("Provides support for the +e channel mode", VF_COMMON | VF_VENDOR, API_VERSION); - } - - ~ModuleBanException() - { - ServerInstance->Modules->UnpublishInterface("ChannelBanList", this); + return Version("Provides support for the +e channel mode", VF_COMMON | VF_VENDOR); } }; diff --git a/src/modules/m_inviteexception.cpp b/src/modules/m_inviteexception.cpp index 7fe7d40dc..9d0e0f54e 100644 --- a/src/modules/m_inviteexception.cpp +++ b/src/modules/m_inviteexception.cpp @@ -43,7 +43,6 @@ public: { if (!ServerInstance->Modes->AddMode(&ie)) throw ModuleException("Could not add new modes!"); - ServerInstance->Modules->PublishInterface("ChannelBanList", this); ie.DoImplements(this); Implementation eventlist[] = { I_On005Numeric, I_OnCheckInvite }; @@ -62,7 +61,6 @@ public: modelist* list = ie.extItem.get(chan); if (list) { - std::string mask = std::string(user->nick) + "!" + user->ident + "@" + user->GetIPString(); for (modelist::iterator it = list->begin(); it != list->end(); it++) { if (chan->CheckBan(user, it->mask)) @@ -71,7 +69,6 @@ public: } } } - // or if there wasn't a list, there can't be anyone on it, so we don't need to do anything. } return MOD_RES_PASSTHRU; @@ -94,12 +91,7 @@ public: Version GetVersion() { - return Version("Provides support for the +I channel mode", VF_VENDOR | VF_COMMON, API_VERSION); - } - - ~ModuleInviteException() - { - ServerInstance->Modules->UnpublishInterface("ChannelBanList", this); + return Version("Provides support for the +I channel mode", VF_VENDOR | VF_COMMON); } }; diff --git a/src/modules/m_namedmodes.cpp b/src/modules/m_namedmodes.cpp index 4bf8960e1..bc8279f69 100644 --- a/src/modules/m_namedmodes.cpp +++ b/src/modules/m_namedmodes.cpp @@ -27,6 +27,11 @@ class ModuleNamedModes : public Module return Version("Provides the ability to manipulate modes via long names.",VF_VENDOR); } + void Prioritize() + { + ServerInstance->Modules->SetPriority(this, I_OnPreMode, PRIORITY_FIRST); + } + void On005Numeric(std::string& line) { std::string::size_type pos = line.find(" CHANMODES="); -- cgit v1.2.3