]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_globalload.cpp
Merge pull request #1147 from SaberUK/insp20+gcc6
[user/henk/code/inspircd.git] / src / modules / m_globalload.cpp
index f10d7f465197b3c2e2777adc1003bb386d4ef4d0..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());
@@ -178,9 +183,13 @@ class ModuleGlobalLoad : public Module
        ModuleGlobalLoad()
                : cmd1(this), cmd2(this), cmd3(this)
        {
-               ServerInstance->AddCommand(&cmd1);
-               ServerInstance->AddCommand(&cmd2);
-               ServerInstance->AddCommand(&cmd3);
+       }
+
+       void init()
+       {
+               ServerInstance->Modules->AddService(cmd1);
+               ServerInstance->Modules->AddService(cmd2);
+               ServerInstance->Modules->AddService(cmd3);
        }
 
        ~ModuleGlobalLoad()