Changeset 5609 in josm for trunk/src/org


Ignore:
Timestamp:
2012-12-03T20:11:59+01:00 (12 years ago)
Author:
Don-vip
Message:

fix #8246 - Recursive dependencies resolution at plugin selection

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/preferences/plugin/PluginListPanel.java

    r5601 r5609  
    112112            this.cb = cb;
    113113        }
     114        protected void selectRequiredPlugins(PluginInformation info) {
     115            if (info != null && info.requires != null) {
     116                for (String s : info.getRequiredPlugins()) {
     117                    if (!model.isSelectedPlugin(s)) {
     118                        model.setPluginSelected(s, true);
     119                        selectRequiredPlugins(model.getPluginInformation(s));
     120                    }
     121                }
     122            }
     123        }
    114124        public void actionPerformed(ActionEvent e) {
    115125            // Select/unselect corresponding plugin in the model
     
    118128            if (cb.isSelected() && cb.pi.requires != null) {
    119129                // Select required plugins
    120                 for (String s : cb.pi.getRequiredPlugins()) {
    121                     model.setPluginSelected(s, true);
    122                 }
     130                selectRequiredPlugins(cb.pi);
    123131                // Alert user if plugin requirements are not met
    124132                PluginHandler.checkRequiredPluginsPreconditions(PluginListPanel.this, model.getAvailablePlugins(), cb.pi, false);
Note: See TracChangeset for help on using the changeset viewer.