From 05f79fac4f4c7c1783bfe3af322705dc5e11dcb8 Mon Sep 17 00:00:00 2001 From: Sergey Evdokimov Date: Thu, 13 Dec 2012 18:50:23 +0400 Subject: [PATCH] Fix memory leak: some tool window do not unregister --- .../com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java index 42d86b531d93..4dee42198d72 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowManagerImpl.java @@ -371,6 +371,12 @@ public final class ToolWindowManagerImpl extends ToolWindowManagerEx implements @Override public void disposeComponent() { + for (String id : new ArrayList(myId2StripeButton.keySet())) { + unregisterToolWindow(id); + } + + assert myId2StripeButton.isEmpty(); + KeyboardFocusManager.getCurrentKeyboardFocusManager().removePropertyChangeListener(myFocusListener); }