diff options
author | Dev Random | 2014-03-21 20:43:26 -0400 |
---|---|---|
committer | Melanie | 2014-03-22 01:29:51 +0000 |
commit | 3d0778bcd6ca6711850257a7d666fc30919e7e66 (patch) | |
tree | 08d2f490e0b6b2e851492cb7ce67eb6063e59902 /OpenSim | |
parent | If an object has it's temporary flag unset after being set, put it back in th... (diff) | |
download | opensim-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 '')
-rw-r--r-- | OpenSim/Framework/PluginLoader.cs | 13 | ||||
-rw-r--r-- | OpenSim/Region/Application/OpenSimBase.cs | 5 |
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; |