From dad8c490de1c73cf43f4704d28af1679260def83 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 23 Mar 2015 18:41:08 +0100 Subject: [PATCH] status bar: prevent progress leaks via myProgressIcon --- .../openapi/wm/impl/status/InfoAndProgressPanel.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java index 73b68274c8c2..d5a7e920ffc0 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java @@ -586,6 +586,11 @@ public class InfoAndProgressPanel extends JPanel implements CustomStatusBarWidge add(myRefreshAndInfoPanel, BorderLayout.CENTER); myProgressIcon.suspend(); + Container iconParent = myProgressIcon.getParent(); + if (iconParent != null) { + iconParent.remove(myProgressIcon); // to prevent leaks to this removed parent via progress icon + } + myRefreshAndInfoPanel.revalidate(); myRefreshAndInfoPanel.repaint(); }