aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/ApplicationPlugins/RegionModulesController
diff options
context:
space:
mode:
authorJohn Hurliman2009-10-27 01:46:14 -0700
committerJohn Hurliman2009-10-27 01:46:14 -0700
commitb498693cff9b044e8ab3c7a88a18e9d67f16461b (patch)
treeda3ad1c4085eb4c4b16c0ba84d97f5938bc6763e /OpenSim/ApplicationPlugins/RegionModulesController
parent* Converts ClientManager.ForEach() (and as a result, Scene.ForEachClient()) t... (diff)
downloadopensim-SC-b498693cff9b044e8ab3c7a88a18e9d67f16461b.zip
opensim-SC-b498693cff9b044e8ab3c7a88a18e9d67f16461b.tar.gz
opensim-SC-b498693cff9b044e8ab3c7a88a18e9d67f16461b.tar.bz2
opensim-SC-b498693cff9b044e8ab3c7a88a18e9d67f16461b.tar.xz
* Tweak to region module loading to check for a matching constructor first instead of throwing and catching exceptions
* Commenting out the MySQL startup sequence that cleans out dropped attachments under the advice that it is no longer relevant. If anything, it could be brought back as a database cleanup console command * Updated to the latest libomv 0.8.0-pre. UUID.TryParse() will no longer throw and catch exceptions for most failed UUID parses
Diffstat (limited to 'OpenSim/ApplicationPlugins/RegionModulesController')
-rw-r--r--OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs13
1 files changed, 7 insertions, 6 deletions
diff --git a/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs b/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs
index ddc37ed..6c0c74d 100644
--- a/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs
+++ b/OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs
@@ -341,14 +341,15 @@ namespace OpenSim.ApplicationPlugins.RegionModulesController
341 341
342 // Actually load it 342 // Actually load it
343 INonSharedRegionModule module = null; 343 INonSharedRegionModule module = null;
344 try 344
345 { 345 Type[] ctorParamTypes = new Type[ctorArgs.Length];
346 for (int i = 0; i < ctorParamTypes.Length; i++)
347 ctorParamTypes[i] = ctorArgs[i].GetType();
348
349 if (node.Type.GetConstructor(ctorParamTypes) != null)
346 module = (INonSharedRegionModule)Activator.CreateInstance(node.Type, ctorArgs); 350 module = (INonSharedRegionModule)Activator.CreateInstance(node.Type, ctorArgs);
347 } 351 else
348 catch
349 {
350 module = (INonSharedRegionModule)Activator.CreateInstance(node.Type); 352 module = (INonSharedRegionModule)Activator.CreateInstance(node.Type);
351 }
352 353
353 // Check for replaceable interfaces 354 // Check for replaceable interfaces
354 Type replaceableInterface = module.ReplaceableInterface; 355 Type replaceableInterface = module.ReplaceableInterface;