diff options
Diffstat (limited to 'OpenSim/Server/Base/ServerUtils.cs')
-rw-r--r-- | OpenSim/Server/Base/ServerUtils.cs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/OpenSim/Server/Base/ServerUtils.cs b/OpenSim/Server/Base/ServerUtils.cs index 1bdaf6f..8d76ffe 100644 --- a/OpenSim/Server/Base/ServerUtils.cs +++ b/OpenSim/Server/Base/ServerUtils.cs | |||
@@ -128,13 +128,20 @@ namespace OpenSim.Server.Base | |||
128 | pluginType.ToString() != | 128 | pluginType.ToString() != |
129 | pluginType.Namespace + "." + className) | 129 | pluginType.Namespace + "." + className) |
130 | continue; | 130 | continue; |
131 | |||
132 | Type typeInterface = | 131 | Type typeInterface = |
133 | pluginType.GetInterface(interfaceName, true); | 132 | pluginType.GetInterface(interfaceName, true); |
134 | if (typeInterface != null) | 133 | if (typeInterface != null) |
135 | { | 134 | { |
136 | T plug = (T)Activator.CreateInstance(pluginType, | 135 | T plug = null; |
137 | args); | 136 | try |
137 | { | ||
138 | plug = (T)Activator.CreateInstance(pluginType, | ||
139 | args); | ||
140 | } | ||
141 | catch (Exception e) | ||
142 | { | ||
143 | m_log.ErrorFormat("Error loading plugin from {0}, exception {1}", dllName, e.InnerException); | ||
144 | } | ||
138 | 145 | ||
139 | return plug; | 146 | return plug; |
140 | } | 147 | } |