diff --git a/platform/platform-impl/src/com/intellij/openapi/components/impl/ComponentManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/components/impl/ComponentManagerImpl.java index c2e6a3f324a2..d266f32cd5fa 100644 --- a/platform/platform-impl/src/com/intellij/openapi/components/impl/ComponentManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/components/impl/ComponentManagerImpl.java @@ -59,6 +59,7 @@ public abstract class ComponentManagerImpl extends UserDataHolderBase implements private IComponentStore myComponentStore; private Boolean myHeadless; private ComponentsRegistry myComponentsRegistry = new ComponentsRegistry(); + private boolean myHaveProgressManager = false; protected ComponentManagerImpl(ComponentManager parentComponentManager) { myParentComponentManager = parentComponentManager; @@ -199,7 +200,7 @@ public abstract class ComponentManagerImpl extends UserDataHolderBase implements } private void initComponent(Object component) { - if (!(component instanceof ProgressManager)) { + if (myHaveProgressManager) { final ProgressManager progressManager = ProgressManager.getInstance(); final ProgressIndicator indicator = progressManager != null ? progressManager.getProgressIndicator() : null; @@ -211,6 +212,9 @@ public abstract class ComponentManagerImpl extends UserDataHolderBase implements indicator.setFraction(myComponentsRegistry.getPercentageOfComponentsLoaded()); } } + if (component instanceof ProgressManager) { + myHaveProgressManager = true; + } try { getStateStore().initComponent(component);