diff options
author | dz <dz@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-11-21 21:47:04 +0000 |
---|---|---|
committer | dz <dz@e03df62e-2008-0410-955e-edbf42e46eb7> | 2009-11-21 21:47:04 +0000 |
commit | a42a8ea3416114d7a3a33a75aa1707f326506cc8 (patch) | |
tree | 5f6de2752bc43e35d9266280bcd07713e6fb0ecb | |
parent | ded1f34b9828508762b05c80687ababb10a75dd8 (diff) |
Delete modewatchers when unloading modules that use them to keep the server from crashing when the mode is used again
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12168 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r-- | src/modules/m_banredirect.cpp | 3 | ||||
-rw-r--r-- | src/modules/m_invisible.cpp | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/modules/m_banredirect.cpp b/src/modules/m_banredirect.cpp index ae81c1733..2894891ef 100644 --- a/src/modules/m_banredirect.cpp +++ b/src/modules/m_banredirect.cpp @@ -332,6 +332,9 @@ class ModuleBanRedirect : public Module virtual ~ModuleBanRedirect() { + /* XXX is this the best place to do this? */ + if (!ServerInstance->Modes->DelModeWatcher(&re)) + ServerInstance->Logs->Log("m_banredirect.so", DEBUG, "Failed to delete modewatcher!"); } virtual Version GetVersion() diff --git a/src/modules/m_invisible.cpp b/src/modules/m_invisible.cpp index cc2080f7f..b4a036d43 100644 --- a/src/modules/m_invisible.cpp +++ b/src/modules/m_invisible.cpp @@ -123,6 +123,9 @@ class ModuleInvisible : public Module ~ModuleInvisible() { + /* XXX is this the best place to do this? */ + if (!ServerInstance->Modes->DelModeWatcher(&ido)) + ServerInstance->Logs->Log("m_banredirect.so", DEBUG, "Failed to delete modewatcher!"); }; Version GetVersion(); |