]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_globalload.cpp
Release v2.0.19
[user/henk/code/inspircd.git] / src / modules / m_globalload.cpp
index 5ece450810de48abe69a0b2160085bd522326ff8..aed65045f58d78c9d5577e3a66e6a6834844de64 100644 (file)
@@ -149,7 +149,12 @@ class CommandGreloadmodule : public Command
                {
                        Module* m = ServerInstance->Modules->Find(parameters[0]);
                        if (m)
-                               ServerInstance->Modules->Reload(m, new GReloadModuleWorker(user->nick, user->uuid, parameters[0]));
+                       {
+                               GReloadModuleWorker* worker = NULL;
+                               if ((m != creator) && (!creator->dying))
+                                       worker = new GReloadModuleWorker(user->nick, user->uuid, parameters[0]);
+                               ServerInstance->Modules->Reload(m, worker);
+                       }
                        else
                        {
                                user->WriteNumeric(975, "%s %s :Could not find module by that name", user->nick.c_str(), parameters[0].c_str());
@@ -182,9 +187,9 @@ class ModuleGlobalLoad : public Module
 
        void init()
        {
-               ServerInstance->AddCommand(&cmd1);
-               ServerInstance->AddCommand(&cmd2);
-               ServerInstance->AddCommand(&cmd3);
+               ServerInstance->Modules->AddService(cmd1);
+               ServerInstance->Modules->AddService(cmd2);
+               ServerInstance->Modules->AddService(cmd3);
        }
 
        ~ModuleGlobalLoad()