From dadfb92d60605b3edc2ad0840e3af1df28395864 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Tue, 19 May 2015 12:25:27 +0300 Subject: [PATCH] removed indeterminacy; memory leak fixed when myOriginalBreakPointsNodes retained 1mb of JDOM --- .../debugger/ui/breakpoints/BreakpointManager.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointManager.java b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointManager.java index 3107f8f89489..07fef8cc5f2c 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointManager.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/breakpoints/BreakpointManager.java @@ -69,7 +69,6 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.java.debugger.breakpoints.properties.JavaExceptionBreakpointProperties; import javax.swing.*; -import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -308,7 +307,7 @@ public class BreakpointManager { return null; } - private HashMap myOriginalBreakpointsNodes = new HashMap(); + private final Map myOriginalBreakpointsNodes = new LinkedHashMap(); public void readExternal(@NotNull final Element parentNode) { myOriginalBreakpointsNodes.clear(); @@ -527,10 +526,8 @@ public class BreakpointManager { if (group.getAttribute(CONVERTED_PARAM) == null) { group.setAttribute(CONVERTED_PARAM, "true"); } - group.detach(); + parentNode.addContent(group.clone()); } - - parentNode.addContent(myOriginalBreakpointsNodes.values()); } @NotNull