diff options
author | David Walter Seikel | 2016-11-03 21:44:39 +1000 |
---|---|---|
committer | David Walter Seikel | 2016-11-03 21:44:39 +1000 |
commit | 134f86e8d5c414409631b25b8c6f0ee45fbd8631 (patch) | |
tree | 216b89d3fb89acfb81be1e440c25c41ab09fa96d /OpenSim/Services/Base/ServiceBase.cs | |
parent | More changing to production grid. Double oops. (diff) | |
download | opensim-SC-134f86e8d5c414409631b25b8c6f0ee45fbd8631.zip opensim-SC-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.gz opensim-SC-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.bz2 opensim-SC-134f86e8d5c414409631b25b8c6f0ee45fbd8631.tar.xz |
Initial update to OpenSim 0.8.2.1 source code.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Services/Base/ServiceBase.cs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/OpenSim/Services/Base/ServiceBase.cs b/OpenSim/Services/Base/ServiceBase.cs index ef30cba..a7eb2be 100644 --- a/OpenSim/Services/Base/ServiceBase.cs +++ b/OpenSim/Services/Base/ServiceBase.cs | |||
@@ -27,6 +27,7 @@ | |||
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.IO; | ||
30 | using System.Reflection; | 31 | using System.Reflection; |
31 | using log4net; | 32 | using log4net; |
32 | using Nini.Config; | 33 | using Nini.Config; |
@@ -45,9 +46,15 @@ namespace OpenSim.Services.Base | |||
45 | 46 | ||
46 | public T LoadPlugin<T>(string dllName, Object[] args) where T:class | 47 | public T LoadPlugin<T>(string dllName, Object[] args) where T:class |
47 | { | 48 | { |
48 | string[] parts = dllName.Split(new char[] {':'}); | 49 | // The path:type separator : is unfortunate because it collides |
50 | // with Windows paths like C:\... | ||
51 | // When the path provided includes the drive, this fails. | ||
52 | // Hence the root/noroot thing going on here. | ||
53 | string pathRoot = Path.GetPathRoot(dllName); | ||
54 | string noRoot = dllName.Substring(pathRoot.Length); | ||
55 | string[] parts = noRoot.Split(new char[] {':'}); | ||
49 | 56 | ||
50 | dllName = parts[0]; | 57 | dllName = pathRoot + parts[0]; |
51 | 58 | ||
52 | string className = String.Empty; | 59 | string className = String.Empty; |
53 | 60 | ||
@@ -79,7 +86,7 @@ namespace OpenSim.Services.Base | |||
79 | continue; | 86 | continue; |
80 | 87 | ||
81 | Type typeInterface = | 88 | Type typeInterface = |
82 | pluginType.GetInterface(interfaceName, true); | 89 | pluginType.GetInterface(interfaceName); |
83 | if (typeInterface != null) | 90 | if (typeInterface != null) |
84 | { | 91 | { |
85 | T plug = (T)Activator.CreateInstance(pluginType, | 92 | T plug = (T)Activator.CreateInstance(pluginType, |