summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/ui/content/impl/ContentManagerImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/platform-impl/src/com/intellij/ui/content/impl/ContentManagerImpl.java')
-rw-r--r--platform/platform-impl/src/com/intellij/ui/content/impl/ContentManagerImpl.java10
1 files changed, 7 insertions, 3 deletions
diff --git a/platform/platform-impl/src/com/intellij/ui/content/impl/ContentManagerImpl.java b/platform/platform-impl/src/com/intellij/ui/content/impl/ContentManagerImpl.java
index d0b110f083bf..2d8bffe98d04 100644
--- a/platform/platform-impl/src/com/intellij/ui/content/impl/ContentManagerImpl.java
+++ b/platform/platform-impl/src/com/intellij/ui/content/impl/ContentManagerImpl.java
@@ -33,9 +33,8 @@ import com.intellij.ui.components.panels.Wrapper;
import com.intellij.ui.content.*;
import com.intellij.ui.switcher.SwitchProvider;
import com.intellij.ui.switcher.SwitchTarget;
-import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.SmartList;
-
+import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.ui.UIUtil;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -191,7 +190,11 @@ public class ContentManagerImpl implements ContentManager, PropertyChangeListene
private void doAddContent(@NotNull final Content content, final int index) {
ApplicationManager.getApplication().assertIsDispatchThread();
- if (myContents.contains(content)) return;
+ if (myContents.contains(content)) {
+ myContents.remove(content);
+ myContents.add(index == -1 ? myContents.size() : index, content);
+ return;
+ }
((ContentImpl)content).setManager(this);
final int insertIndex = index == -1 ? myContents.size() : index;
@@ -703,6 +706,7 @@ public class ContentManagerImpl implements ContentManager, PropertyChangeListene
myContentWithChangedComponent.clear();
myUI = null;
myListeners.clear();
+ dataProviders.clear();
}
@Override