]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/u_listmode.h
m_filter Fix memory leak on unload
[user/henk/code/inspircd.git] / src / modules / u_listmode.h
index dde36a482ddfaf0cfbc7e9ba9a584e0fe92dc2f8..b370c86e864d4ea513820556e0b7867968b9825d 100644 (file)
@@ -100,8 +100,6 @@ class ListModeBase : public ModeHandler
                configtag(ctag), extItem("listbase_mode_" + name + "_list", Creator)
        {
                list = true;
-               this->DoRehash();
-               ServerInstance->Extensions.Register(&extItem);
        }
 
        /** See mode.h
@@ -216,8 +214,10 @@ class ListModeBase : public ModeHandler
         */
        virtual void DoImplements(Module* m)
        {
+               ServerInstance->Modules->AddService(extItem);
+               this->DoRehash();
                Implementation eventlist[] = { I_OnSyncChannel, I_OnRehash };
-               ServerInstance->Modules->Attach(eventlist, m, 2);
+               ServerInstance->Modules->Attach(eventlist, m, sizeof(eventlist)/sizeof(Implementation));
        }
 
        /** Handle the list mode.