From 245b22d1b24ec651bfe7c037c321fdcc165d8bcd Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Tue, 7 Oct 2014 09:47:17 +0200 Subject: [PATCH] we don't need to doAddComponent on reinit --- .../components/impl/stores/ComponentStoreImpl.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/ComponentStoreImpl.java b/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/ComponentStoreImpl.java index 95b2c7045019..ca1a498e2373 100644 --- a/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/ComponentStoreImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/components/impl/stores/ComponentStoreImpl.java @@ -76,7 +76,7 @@ public abstract class ComponentStoreImpl implements IComponentStore.Reloadable { @Override public void run() { if (component instanceof PersistentStateComponent) { - initPersistentComponent((PersistentStateComponent)component, false); + initPersistentComponent((PersistentStateComponent)component, false, false); } else { initJdomExternalizable((JDOMExternalizable)component); @@ -233,13 +233,17 @@ public abstract class ComponentStoreImpl implements IComponentStore.Reloadable { } - private String initPersistentComponent(@NotNull final PersistentStateComponent component, final boolean reloadData) { + private String initPersistentComponent(@NotNull final PersistentStateComponent component, final boolean reloadData, boolean isReinit) { State spec = getStateSpec(component); final String name = spec.name(); ComponentRoamingManager.getInstance().setRoamingType(name, spec.roamingType()); - doAddComponent(name, component); - if (optimizeTestLoading()) return name; + if (!isReinit) { + doAddComponent(name, component); + } + if (optimizeTestLoading()) { + return name; + } Class stateClass = getComponentStateClass(component); @@ -424,7 +428,7 @@ public abstract class ComponentStoreImpl implements IComponentStore.Reloadable { return false; } else { - initPersistentComponent(component, reloadData); + initPersistentComponent(component, reloadData, true); return true; } }