From 60eee9f1ec18aa14663e580e9fddcb39409c2a30 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Thu, 13 Jun 2013 18:36:07 +0400 Subject: [PATCH] scopes: do not create new panel on each selection --- .../intellij/ide/scopeView/ScopeViewPane.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeViewPane.java b/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeViewPane.java index c8401174733b..8d1ebb5bed3d 100644 --- a/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeViewPane.java +++ b/platform/lang-impl/src/com/intellij/ide/scopeView/ScopeViewPane.java @@ -114,14 +114,16 @@ public class ScopeViewPane extends AbstractProjectViewPane { @Override public JComponent createComponent() { - myViewPanel = new ScopeTreeViewPanel(myProject); - Disposer.register(this, myViewPanel); - myViewPanel.initListeners(); - myViewPanel.selectScope(NamedScopesHolder.getScope(myProject, getSubId())); - myTree = myViewPanel.getTree(); - PopupHandler.installPopupHandler(myTree, IdeActions.GROUP_SCOPE_VIEW_POPUP, ActionPlaces.SCOPE_VIEW_POPUP); - enableDnD(); + if (myViewPanel == null) { + myViewPanel = new ScopeTreeViewPanel(myProject); + Disposer.register(this, myViewPanel); + myViewPanel.initListeners(); + myTree = myViewPanel.getTree(); + PopupHandler.installPopupHandler(myTree, IdeActions.GROUP_SCOPE_VIEW_POPUP, ActionPlaces.SCOPE_VIEW_POPUP); + enableDnD(); + } + myViewPanel.selectScope(NamedScopesHolder.getScope(myProject, getSubId())); return myViewPanel.getPanel(); }