aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorDev Random2014-03-21 20:43:26 -0400
committerMelanie2014-03-22 01:29:51 +0000
commit3d0778bcd6ca6711850257a7d666fc30919e7e66 (patch)
tree08d2f490e0b6b2e851492cb7ce67eb6063e59902 /OpenSim
parentIf an object has it's temporary flag unset after being set, put it back in th... (diff)
downloadopensim-SC_OLD-3d0778bcd6ca6711850257a7d666fc30919e7e66.zip
opensim-SC_OLD-3d0778bcd6ca6711850257a7d666fc30919e7e66.tar.gz
opensim-SC_OLD-3d0778bcd6ca6711850257a7d666fc30919e7e66.tar.bz2
opensim-SC_OLD-3d0778bcd6ca6711850257a7d666fc30919e7e66.tar.xz
Allow Mono Plugin Registry setting for Regions
Signed-off-by: Melanie <melanie@t-data.com>
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Framework/PluginLoader.cs13
-rw-r--r--OpenSim/Region/Application/OpenSimBase.cs5
2 files changed, 11 insertions, 7 deletions
diff --git a/OpenSim/Framework/PluginLoader.cs b/OpenSim/Framework/PluginLoader.cs
index 819cb7b..a2bf9f3 100644
--- a/OpenSim/Framework/PluginLoader.cs
+++ b/OpenSim/Framework/PluginLoader.cs
@@ -215,7 +215,7 @@ namespace OpenSim.Framework
215 AddinManager.AddinLoadError += on_addinloaderror_; 215 AddinManager.AddinLoadError += on_addinloaderror_;
216 AddinManager.AddinLoaded += on_addinloaded_; 216 AddinManager.AddinLoaded += on_addinloaded_;
217 217
218 clear_registry_(); 218 clear_registry_(dir);
219 219
220 suppress_console_output_(true); 220 suppress_console_output_(true);
221 AddinManager.Initialize(dir); 221 AddinManager.Initialize(dir);
@@ -239,18 +239,19 @@ namespace OpenSim.Framework
239 + args.Exception.StackTrace); 239 + args.Exception.StackTrace);
240 } 240 }
241 241
242 private void clear_registry_() 242 private void clear_registry_(string dir)
243 { 243 {
244 // The Mono addin manager (in Mono.Addins.dll version 0.2.0.0) 244 // The Mono addin manager (in Mono.Addins.dll version 0.2.0.0)
245 // occasionally seems to corrupt its addin cache 245 // occasionally seems to corrupt its addin cache
246 // Hence, as a temporary solution we'll remove it before each startup 246 // Hence, as a temporary solution we'll remove it before each startup
247
247 try 248 try
248 { 249 {
249 if (Directory.Exists("addin-db-000")) 250 if (Directory.Exists(dir + "/addin-db-000"))
250 Directory.Delete("addin-db-000", true); 251 Directory.Delete(dir + "/addin-db-000", true);
251 252
252 if (Directory.Exists("addin-db-001")) 253 if (Directory.Exists(dir + "/addin-db-001"))
253 Directory.Delete("addin-db-001", true); 254 Directory.Delete(dir + "/addin-db-001", true);
254 } 255 }
255 catch (IOException) 256 catch (IOException)
256 { 257 {
diff --git a/OpenSim/Region/Application/OpenSimBase.cs b/OpenSim/Region/Application/OpenSimBase.cs
index 0dc9306..8a27967 100644
--- a/OpenSim/Region/Application/OpenSimBase.cs
+++ b/OpenSim/Region/Application/OpenSimBase.cs
@@ -158,7 +158,10 @@ namespace OpenSim
158 158
159 protected virtual void LoadPlugins() 159 protected virtual void LoadPlugins()
160 { 160 {
161 using (PluginLoader<IApplicationPlugin> loader = new PluginLoader<IApplicationPlugin>(new ApplicationPluginInitialiser(this))) 161 IConfig startupConfig = Config.Configs["Startup"];
162 string registryLocation = (startupConfig != null) ? startupConfig.GetString("RegistryLocation",".") : ".";
163
164 using (PluginLoader<IApplicationPlugin> loader = new PluginLoader<IApplicationPlugin>(new ApplicationPluginInitialiser(this), registryLocation))
162 { 165 {
163 loader.Load("/OpenSim/Startup"); 166 loader.Load("/OpenSim/Startup");
164 m_plugins = loader.Plugins; 167 m_plugins = loader.Plugins;