From 2efea2157a004c272d00c35fe105e22c6426eada Mon Sep 17 00:00:00 2001 From: psychon Date: Wed, 14 Jan 2009 15:17:30 +0000 Subject: [PATCH] webadmin: reload global modules whose settings were changed git-svn-id: https://znc.svn.sourceforge.net/svnroot/znc/trunk@1331 726aef4b-f618-498e-8847-2d620e286838 --- modules/webadmin.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/webadmin.cpp b/modules/webadmin.cpp index bafdb348..3157b5b6 100644 --- a/modules/webadmin.cpp +++ b/modules/webadmin.cpp @@ -606,10 +606,15 @@ bool CWebAdminSock::SettingsPage(CString& sPageRet) { if (!sModName.empty()) { CString sArgs = GetParam("modargs_" + sModName); - if (!CZNC::Get().GetModules().FindModule(sModName)) { + CModule *pMod = CZNC::Get().GetModules().FindModule(sModName); + if (!pMod) { if (!CZNC::Get().GetModules().LoadModule(sModName, sArgs, NULL, sModRet)) { DEBUG_ONLY(cerr << "Unable to load module [" << sModName << "] [" << sModRet << "]" << endl); } + } else if (pMod->GetArgs() != sArgs) { + if (!CZNC::Get().GetModules().ReloadModule(sModName, sArgs, NULL, sModRet)) { + DEBUG_ONLY(cerr << "Unable to reload module [" << sModName << "] [" << sModRet << "]" << endl); + } } else { DEBUG_ONLY(cerr << "Unable to load module [" << sModName << "] because it is already loaded" << endl); }