summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-10-16 15:43:53 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-10-16 15:43:53 +0000
commit7c55dfc7887b2ca91e4ebdf9f2733de8adb56e18 (patch)
tree49c0b12a63774597e950ed0168630e35966f0cfa /src/modules
parent04e097e20747f07cd69722535fa68a6506882d9f (diff)
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
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/m_banexception.cpp8
-rw-r--r--src/modules/m_inviteexception.cpp10
-rw-r--r--src/modules/m_namedmodes.cpp5
3 files changed, 7 insertions, 16 deletions
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=");