From 1966a7d8f9493786b710bd93a396b8e08c247da2 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 6 Oct 2016 14:31:42 +0300 Subject: [PATCH] EA-87865 - Throwable: ExceptionUtil.currentStackTrace --- .../openapi/wm/impl/status/TogglePopupHintsPanel.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/openapi/wm/impl/status/TogglePopupHintsPanel.java b/platform/lang-impl/src/com/intellij/openapi/wm/impl/status/TogglePopupHintsPanel.java index 0376ef6b2a48..126765c510a6 100644 --- a/platform/lang-impl/src/com/intellij/openapi/wm/impl/status/TogglePopupHintsPanel.java +++ b/platform/lang-impl/src/com/intellij/openapi/wm/impl/status/TogglePopupHintsPanel.java @@ -33,6 +33,7 @@ import com.intellij.psi.PsiManager; import com.intellij.ui.UIBundle; import com.intellij.ui.awt.RelativePoint; import com.intellij.util.Consumer; +import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -47,12 +48,7 @@ public class TogglePopupHintsPanel extends EditorBasedWidget implements StatusBa public TogglePopupHintsPanel(@NotNull final Project project) { super(project); myCurrentIcon = AllIcons.Ide.HectorNo; - myConnection.subscribe(PowerSaveMode.TOPIC, new PowerSaveMode.Listener() { - @Override - public void powerSaveStateChanged() { - updateStatus(); - } - }); + myConnection.subscribe(PowerSaveMode.TOPIC, this::updateStatus); } @Override @@ -115,10 +111,11 @@ public class TogglePopupHintsPanel extends EditorBasedWidget implements StatusBa } public void updateStatus() { - updateStatus(getCurrentFile()); + UIUtil.invokeLaterIfNeeded(() -> updateStatus(getCurrentFile())); } private void updateStatus(PsiFile file) { + if (isDisposed()) return; if (isStateChangeable(file)) { if (PowerSaveMode.isEnabled()) { myCurrentIcon = AllIcons.Ide.HectorNo;