]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modmanager_static.cpp
m_namedmodes Only show chan key to members and opers with channels/auspex
[user/henk/code/inspircd.git] / src / modmanager_static.cpp
index d2a2f2c098491b760f6c64f14e6cb20f9cbf1297..cea40c7a32364e75a807866f7979e6730c88a40c 100644 (file)
@@ -93,6 +93,7 @@ bool ModuleManager::Load(const std::string& name, bool defer)
                mod = (*it->second->init)();
                mod->ModuleSourceFile = name;
                mod->ModuleDLLManager = NULL;
+               mod->dying = false;
                Modules[name] = mod;
                if (defer)
                {
@@ -157,7 +158,8 @@ namespace {
                        ServerInstance->Modules->DoSafeUnload(mod);
                        ServerInstance->GlobalCulls.Apply();
                        bool rv = ServerInstance->Modules->Load(name.c_str());
-                       callback->Call(rv);
+                       if (callback)
+                               callback->Call(rv);
                        ServerInstance->GlobalCulls.AddItem(this);
                }
        };
@@ -175,7 +177,7 @@ void ModuleManager::Reload(Module* mod, HandlerBase1<void, bool>* callback)
 {
        if (CanUnload(mod))
                ServerInstance->AtomicActions.AddAction(new ReloadAction(mod, callback));
-       else
+       else if (callback)
                callback->Call(false);
 }