# HG changeset patch # User Jesse Glick # Date 1485795762 18000 # Parent c082020aab51925e239d3702e8a9bbabe375ff45 Bug #269685: memory leak in AnnotationHolder. diff --git a/spi.editor.hints/src/org/netbeans/modules/editor/hints/AnnotationHolder.java b/spi.editor.hints/src/org/netbeans/modules/editor/hints/AnnotationHolder.java --- a/spi.editor.hints/src/org/netbeans/modules/editor/hints/AnnotationHolder.java +++ b/spi.editor.hints/src/org/netbeans/modules/editor/hints/AnnotationHolder.java @@ -69,6 +69,7 @@ import java.util.Set; import java.util.SortedMap; import java.util.TreeMap; +import java.util.WeakHashMap; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JEditorPane; @@ -117,6 +118,7 @@ import org.openide.util.NbBundle; import org.openide.util.Pair; import org.openide.util.RequestProcessor.Task; +import org.openide.util.WeakSet; /** * @@ -153,7 +155,7 @@ private DataObject od; private final BaseDocument doc; - private static Map file2Holder = new HashMap(); + private static final Map file2Holder = new WeakHashMap(); static { EditorRegistry.addPropertyChangeListener(new PropertyChangeListener() { @@ -243,7 +245,7 @@ @SuppressWarnings("LeakingThisInConstructor") private AnnotationHolder(FileObject file, DataObject od, BaseDocument doc) { - openedComponents = new HashSet<>(); + openedComponents = new WeakSet<>(); this.doc = doc;