# HG changeset patch # Parent a444a580f9d66ebd54bc42b8b0c320fe087fb9c6 # User Jesse Glick #198604: memory leak due to WeakHashMap values -> keys. diff --git a/openide.filesystems/src/org/openide/filesystems/annotations/LayerGeneratingProcessor.java b/openide.filesystems/src/org/openide/filesystems/annotations/LayerGeneratingProcessor.java --- a/openide.filesystems/src/org/openide/filesystems/annotations/LayerGeneratingProcessor.java +++ b/openide.filesystems/src/org/openide/filesystems/annotations/LayerGeneratingProcessor.java @@ -134,11 +134,11 @@ } return false; } - if (roundEnv.processingOver() && !roundEnv.errorRaised()) { + if (roundEnv.processingOver()) { Document doc = generatedLayerByProcessor.remove(processingEnv); - if (doc != null) { + List originatingElementsL = originatingElementsByProcessor.remove(processingEnv); + if (doc != null && !roundEnv.errorRaised()) { Element[] originatingElementsA = new Element[0]; - List originatingElementsL = originatingElementsByProcessor.remove(processingEnv); if (originatingElementsL != null) { originatingElementsA = originatingElementsL.toArray(originatingElementsA); }