diff --git a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserEditorNotificationProvider.java b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserEditorNotificationProvider.java index 1fd3b6d8db12..22cb0e9e93c9 100644 --- a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserEditorNotificationProvider.java +++ b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginAdvertiserEditorNotificationProvider.java @@ -138,8 +138,7 @@ public class PluginAdvertiserEditorNotificationProvider extends EditorNotificati }); } }); - } else { - + } else if (PluginsAdvertiser.hasBundledNotInstalledPlugin(plugins)){ if (PropertiesComponent.getInstance().isTrueValue(PluginsAdvertiser.IGNORE_ULTIMATE_EDITION)) { return null; } @@ -159,6 +158,8 @@ public class PluginAdvertiserEditorNotificationProvider extends EditorNotificati myNotifications.updateAllNotifications(); } }); + } else { + return null; } panel.createActionLabel("Ignore extension", new Runnable() { @Override diff --git a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginsAdvertiser.java b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginsAdvertiser.java index 509de138bb06..f14580b8abd7 100644 --- a/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginsAdvertiser.java +++ b/platform/platform-impl/src/com/intellij/openapi/updateSettings/impl/pluginsAdvertisement/PluginsAdvertiser.java @@ -210,6 +210,15 @@ public class PluginsAdvertiser implements StartupActivity { return null; } + static boolean hasBundledNotInstalledPlugin(Collection plugins) { + for (Plugin plugin : plugins) { + if (plugin.myBundled && PluginManager.getPlugin(PluginId.getId(plugin.myPluginId)) == null) { + return true; + } + } + return false; + } + @Override public void runActivity(@NotNull final Project project) { if (!UpdateSettings.getInstance().CHECK_NEEDED) return; @@ -258,13 +267,11 @@ public class PluginsAdvertiser implements StartupActivity { if (pluginDescriptor != null) { myDisabledPlugins.put(plugin, pluginDescriptor); } - } else { - if (plugin.myBundled) { - myBundledPlugins = true; - } - } + } } + myBundledPlugins = hasBundledNotInstalledPlugin(ids.values()); + for (IdeaPluginDescriptor loadedPlugin : myAllPlugins) { final PluginId pluginId = loadedPlugin.getPluginId(); if (ids.containsKey(pluginId.getIdString()) && !disabledPlugins.contains(pluginId.getIdString())) {