diff options
author | John Hurliman | 2009-10-27 01:46:14 -0700 |
---|---|---|
committer | John Hurliman | 2009-10-27 01:46:14 -0700 |
commit | b498693cff9b044e8ab3c7a88a18e9d67f16461b (patch) | |
tree | da3ad1c4085eb4c4b16c0ba84d97f5938bc6763e /OpenSim/ApplicationPlugins | |
parent | * Converts ClientManager.ForEach() (and as a result, Scene.ForEachClient()) t... (diff) | |
download | opensim-SC_OLD-b498693cff9b044e8ab3c7a88a18e9d67f16461b.zip opensim-SC_OLD-b498693cff9b044e8ab3c7a88a18e9d67f16461b.tar.gz opensim-SC_OLD-b498693cff9b044e8ab3c7a88a18e9d67f16461b.tar.bz2 opensim-SC_OLD-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')
-rw-r--r-- | OpenSim/ApplicationPlugins/RegionModulesController/RegionModulesControllerPlugin.cs | 13 |
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; |