From 2c4d021cd47a477ee1f2d6519312aa30cb1cb356 Mon Sep 17 00:00:00 2001 From: nik Date: Fri, 4 Mar 2016 18:11:49 +0300 Subject: [PATCH] plugin loading: don't fail if one of plugins required for a plugin which defines a module cannot be loaded (IDEA-152606) --- .../src/com/intellij/ide/plugins/PluginManagerCore.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.java b/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.java index a1d6a2b93426..2ef795bcc7f7 100644 --- a/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.java +++ b/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.java @@ -596,7 +596,11 @@ public class PluginManagerCore { // check for missing optional dependency IdeaPluginDescriptor dep = idToDescriptorMap.get(dependentPluginId); if (dep != null) { - plugins.add(dep.getPluginId()); + //if 'dep' refers to a module we need to add the real plugin containing this module only if it's still enabled, otherwise the graph will be inconsistent + PluginId realPluginId = dep.getPluginId(); + if (idToDescriptorMap.containsKey(realPluginId)) { + plugins.add(realPluginId); + } } } return plugins.iterator();