From e80240b25e4e093eaab2a86e45d4f43bd9b607bc Mon Sep 17 00:00:00 2001 From: Max Medvedev Date: Fri, 20 Jul 2018 21:44:14 +0300 Subject: [PATCH] OC-13893 AppCode hangs if "Add selection for next occurrence" is about to select a placeholder caused by infinite cycle trying to expand unexpandable fold region --- .../intellij/openapi/editor/actions/EditorActionUtil.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/actions/EditorActionUtil.java b/platform/platform-impl/src/com/intellij/openapi/editor/actions/EditorActionUtil.java index 3d7309d06f59..9f4cca1728b8 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/actions/EditorActionUtil.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/actions/EditorActionUtil.java @@ -856,9 +856,9 @@ public class EditorActionUtil { */ public static void makePositionVisible(@NotNull final Editor editor, final int offset) { FoldingModel foldingModel = editor.getFoldingModel(); - FoldRegion collapsedRegionAtOffset; - while ((collapsedRegionAtOffset = foldingModel.getCollapsedRegionAtOffset(offset)) != null) { - final FoldRegion region = collapsedRegionAtOffset; + while (true) { + FoldRegion region = foldingModel.getCollapsedRegionAtOffset(offset); + if (region == null || region.shouldNeverExpand()) break; foldingModel.runBatchFoldingOperation(() -> region.setExpanded(true)); } }