From c6f1c260ab9c68dfba7ebcce999563395030b6bf Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Mon, 6 Mar 2017 14:00:28 +0300 Subject: [PATCH] IDEA-169169 Revert "IDEA-168502 ui: fix memory leak via ActionToolbarImpl" `transparentOnly=true` mode reuses presentations from previous runs. This reverts commit fa9d2a79f4b53904518d8a10ab61d985926e3290. --- .../openapi/actionSystem/impl/ActionToolbarImpl.java | 2 -- .../actionSystem/impl/PresentationFactory.java | 11 ----------- 2 files changed, 13 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionToolbarImpl.java b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionToolbarImpl.java index 01742027e476..b2103ce43c42 100644 --- a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionToolbarImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/ActionToolbarImpl.java @@ -951,8 +951,6 @@ public class ActionToolbarImpl extends JPanel implements ActionToolbar, QuickAct myPlace, myActionManager, transparentOnly); if (forced || !newVisibleActions.equals(myVisibleActions)) { - myPresentationFactory.retainAll(newVisibleActions); - boolean shouldRebuildUI = newVisibleActions.isEmpty() || myVisibleActions.isEmpty(); myVisibleActions = newVisibleActions; diff --git a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/PresentationFactory.java b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/PresentationFactory.java index 6f1aa461341b..6c4df4a8abb2 100644 --- a/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/PresentationFactory.java +++ b/platform/platform-impl/src/com/intellij/openapi/actionSystem/impl/PresentationFactory.java @@ -18,11 +18,9 @@ package com.intellij.openapi.actionSystem.impl; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.Presentation; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.util.containers.HashSet; import com.intellij.util.containers.WeakHashMap; import org.jetbrains.annotations.NotNull; -import java.util.Collection; import java.util.Map; public class PresentationFactory { @@ -54,13 +52,4 @@ public class PresentationFactory { ApplicationManager.getApplication().assertIsDispatchThread(); myAction2Presentation.clear(); } - - public void retainAll(@NotNull Collection actions) { - HashSet toRemove = new HashSet<>(myAction2Presentation.keySet()); - toRemove.removeAll(actions); - - for (AnAction action : toRemove) { - myAction2Presentation.remove(action); - } - } }