From 1a62374fd67e411e1bdb2a3984f57df2d07b582b Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Thu, 10 Feb 2011 18:21:25 +0300 Subject: [PATCH] one instance of NavBarPanel is always in the frame, so skip events if !isShowing() --- .../ide/navigationToolbar/NavBarListener.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListener.java b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListener.java index f6948e629baf..42f134956c4d 100644 --- a/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListener.java +++ b/platform/lang-impl/src/com/intellij/ide/navigationToolbar/NavBarListener.java @@ -157,11 +157,15 @@ public class NavBarListener extends WolfTheProblemSolver.ProblemListener } private void rebuildUI() { - myPanel.queueRebuildUi(); + if (myPanel.isShowing()) { + myPanel.queueRebuildUi(); + } } private void updateModel() { - myPanel.queueModelUpdateFromFocus(); + if (myPanel.isShowing()) { + myPanel.queueModelUpdateFromFocus(); + } } @Override @@ -222,9 +226,11 @@ public class NavBarListener extends WolfTheProblemSolver.ProblemListener @Override public void propertyChange(PropertyChangeEvent evt) { - final String name = evt.getPropertyName(); - if ("focusOwner".equals(name) || "permanentFocusOwner".equals(name)) { - myPanel.restartRebuild(); + if (myPanel.isShowing()) { + final String name = evt.getPropertyName(); + if ("focusOwner".equals(name) || "permanentFocusOwner".equals(name)) { + myPanel.restartRebuild(); + } } }