Ignore:
Timestamp:
02/28/08 12:35:49 (13 years ago)
Author:
gkronber
Message:

fixed #1

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.PluginInfrastructure/Loader.cs

    r11 r28  
    156156
    157157      foreach(string pluginName in this.pluginDependencies.Keys) {
     158        allDependencies.Clear();
    158159        CheckPluginDependencies(pluginName);
    159160      }
     
    221222    }
    222223
     224    private List<string> allDependencies = new List<string>();
    223225    private bool CheckPluginDependencies(string pluginName) {
    224226      // when we already checked the dependencies of this plugin earlier then just return true
    225227      if(loadablePlugins.Contains(pluginName)) {
    226228        return true;
    227       } else if(!pluginAssemblies.ContainsKey(pluginName)) {
     229      } else if(!pluginAssemblies.ContainsKey(pluginName) || allDependencies.Contains(pluginName)) {
    228230        // when the plugin is not available return false;
    229231        return false;
     
    231233        // otherwise check if all dependencies of the plugin are OK
    232234        // if yes then this plugin is also ok and we store it in the list of loadable plugins
     235        allDependencies.Add(pluginName);
    233236        foreach(string dependency in pluginDependencies[pluginName]) {
    234237          if(CheckPluginDependencies(dependency) == false) {
Note: See TracChangeset for help on using the changeset viewer.