From 3ce6116e4a151519d72a660bb3673418e7603557 Mon Sep 17 00:00:00 2001 From: mingchen Date: Sat, 24 Nov 2007 01:31:42 +0000 Subject: *Shared Modules have feelings too! -- Shared Region Modules that are found in DLLs are now correctly loaded automagically. --- OpenSim/Region/Application/OpenSimMain.cs | 2 +- OpenSim/Region/Environment/ModuleLoader.cs | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'OpenSim') diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs index fd8b941..ed16cd4 100644 --- a/OpenSim/Region/Application/OpenSimMain.cs +++ b/OpenSim/Region/Application/OpenSimMain.cs @@ -346,12 +346,12 @@ namespace OpenSim UDPServer udpServer; Scene scene = SetupScene(regionInfo, out udpServer); - m_moduleLoader.InitialiseSharedModules(scene); MainLog.Instance.Verbose("MODULES", "Loading Region's Modules"); m_moduleLoader.PickupModules(scene, "."); m_moduleLoader.PickupModules(scene, "ScriptEngines"); + m_moduleLoader.InitialiseSharedModules(scene); scene.SetModuleInterfaces(); //Server side object editing permissions checking diff --git a/OpenSim/Region/Environment/ModuleLoader.cs b/OpenSim/Region/Environment/ModuleLoader.cs index fc11a50..1bab2e5 100644 --- a/OpenSim/Region/Environment/ModuleLoader.cs +++ b/OpenSim/Region/Environment/ModuleLoader.cs @@ -121,7 +121,10 @@ namespace OpenSim.Region.Environment IRegionModule module = LoadModule(dllName, moduleName); if (module != null) { - m_loadedSharedModules.Add(module.Name, module); + if (!m_loadedSharedModules.ContainsKey(module.Name)) + { + m_loadedSharedModules.Add(module.Name, module); + } } } @@ -139,6 +142,11 @@ namespace OpenSim.Region.Environment m_log.Verbose("MODULES", " [{0}]: Initializing.", module.Name); InitializeModule(module, scene); } + else + { + m_log.Verbose("MODULES", " [{0}]: Loading Shared Module.", module.Name); + LoadSharedModule(dllName, module.Name); + } } } } -- cgit v1.1