diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldingModelImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldingModelImpl.java index 962230e8680e..5cfc4d00facb 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldingModelImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/FoldingModelImpl.java @@ -212,17 +212,20 @@ public class FoldingModelImpl implements FoldingModelEx, PrioritizedDocumentList myIsBatchFoldingProcessing = true; myFoldTree.myCachedLastIndex = -1; - operation.run(); - myFoldTree.myCachedLastIndex = -1; + try { + operation.run(); + } finally { + myFoldTree.myCachedLastIndex = -1; - if (!oldBatchFlag) { - if (myFoldRegionsProcessed) { - notifyBatchFoldingProcessingDone(moveCaret); - myFoldRegionsProcessed = false; + if (!oldBatchFlag) { + if (myFoldRegionsProcessed) { + notifyBatchFoldingProcessingDone(moveCaret); + myFoldRegionsProcessed = false; + } + myIsBatchFoldingProcessing = false; } - myIsBatchFoldingProcessing = false; + myDoNotCollapseCaret = oldDontCollapseCaret; } - myDoNotCollapseCaret = oldDontCollapseCaret; } @Override