From a4809609c467fcab4d72ffbe21d6af85a525b8a2 Mon Sep 17 00:00:00 2001 From: "Rustam.Vishnyakov" Date: Fri, 24 Feb 2012 16:31:06 +0400 Subject: [PATCH] Fix for folding descriptors --- .../codeInsight/folding/impl/UpdateFoldRegionsOperation.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/UpdateFoldRegionsOperation.java b/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/UpdateFoldRegionsOperation.java index 682c5b172094..418328c11458 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/UpdateFoldRegionsOperation.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/UpdateFoldRegionsOperation.java @@ -178,7 +178,7 @@ class UpdateFoldRegionsOperation implements Runnable { if (element != null && myElementsToFoldMap.containsKey(element)) { final Collection descriptors = myElementsToFoldMap.get(element); boolean matchingDescriptorFound = false; - for (FoldingDescriptor descriptor : descriptors) { + for (FoldingDescriptor descriptor : descriptors.toArray(new FoldingDescriptor[descriptors.size()])) { TextRange range = descriptor.getRange(); if (region.getStartOffset() == range.getStartOffset() && region.getEndOffset() == range.getEndOffset()) { @@ -191,11 +191,11 @@ class UpdateFoldRegionsOperation implements Runnable { ) { rangeToExpandStatusMap.put(range, region.isExpanded()); toRemove.add(region); + break; } else { myElementsToFoldMap.removeValue(element, descriptor); } - break; } } if (!matchingDescriptorFound) {