diff --git a/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/EditorFoldingInfo.java b/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/EditorFoldingInfo.java index e7460e1abe13..c2dd8d88df53 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/EditorFoldingInfo.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/EditorFoldingInfo.java @@ -19,6 +19,8 @@ package com.intellij.codeInsight.folding.impl; import com.intellij.lang.injection.InjectedLanguageManager; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.editor.FoldRegion; +import com.intellij.openapi.editor.FoldingModel; +import com.intellij.openapi.editor.ex.FoldingModelEx; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.TextRange; import com.intellij.psi.PsiElement; @@ -97,6 +99,10 @@ public class EditorFoldingInfo { if (info != null) { info.dispose(); } + FoldingModel foldingModel = editor.getFoldingModel(); + if (foldingModel instanceof FoldingModelEx) { + ((FoldingModelEx)foldingModel).rebuild(); + } editor.putUserData(KEY, null); } } diff --git a/platform/lang-impl/src/com/intellij/injected/editor/FoldingModelWindow.java b/platform/lang-impl/src/com/intellij/injected/editor/FoldingModelWindow.java index 9128fbb58f92..0f9735852adc 100644 --- a/platform/lang-impl/src/com/intellij/injected/editor/FoldingModelWindow.java +++ b/platform/lang-impl/src/com/intellij/injected/editor/FoldingModelWindow.java @@ -147,4 +147,9 @@ public class FoldingModelWindow implements FoldingModelEx{ public boolean removeListener(@NotNull FoldingListener listener) { return myDelegate.removeListener(listener); } + + @Override + public void rebuild() { + myDelegate.rebuild(); + } } diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/ex/FoldingModelEx.java b/platform/platform-impl/src/com/intellij/openapi/editor/ex/FoldingModelEx.java index efdeae2a7a2c..4c612af11df1 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/ex/FoldingModelEx.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/ex/FoldingModelEx.java @@ -49,4 +49,6 @@ public interface FoldingModelEx extends FoldingModel { boolean addListener(@NotNull FoldingListener listener); boolean removeListener(@NotNull FoldingListener listener); + + void rebuild(); } 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 53920ca66252..061242bced1e 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 @@ -397,6 +397,7 @@ public class FoldingModelImpl implements FoldingModelEx, PrioritizedDocumentList } } + @Override public void rebuild() { myFoldTree.rebuild(); }