diff options
Diffstat (limited to 'OpenSim/Framework/PluginLoader.cs')
-rw-r--r-- | OpenSim/Framework/PluginLoader.cs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/OpenSim/Framework/PluginLoader.cs b/OpenSim/Framework/PluginLoader.cs index 5d38f5f..819cb7b 100644 --- a/OpenSim/Framework/PluginLoader.cs +++ b/OpenSim/Framework/PluginLoader.cs | |||
@@ -194,10 +194,15 @@ namespace OpenSim.Framework | |||
194 | } | 194 | } |
195 | } | 195 | } |
196 | 196 | ||
197 | /// <summary> | ||
198 | /// Unregisters Mono.Addins event handlers, allowing temporary Mono.Addins | ||
199 | /// data to be garbage collected. Since the plugins created by this loader | ||
200 | /// are meant to outlive the loader itself, they must be disposed separately | ||
201 | /// </summary> | ||
197 | public void Dispose() | 202 | public void Dispose() |
198 | { | 203 | { |
199 | foreach (T plugin in Plugins) | 204 | AddinManager.AddinLoadError -= on_addinloaderror_; |
200 | plugin.Dispose(); | 205 | AddinManager.AddinLoaded -= on_addinloaded_; |
201 | } | 206 | } |
202 | 207 | ||
203 | private void initialise_plugin_dir_(string dir) | 208 | private void initialise_plugin_dir_(string dir) |