From 831a4ee5cdae504826c916dd9076dceb343374f2 Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 25 May 2016 08:23:26 +0200 Subject: [PATCH] force using current document text in LayeredLexerEditorHighlighter.createIterator, even in bulk mode (IDEA-CR-10979) --- .../editor/ex/util/LayeredLexerEditorHighlighter.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/platform/editor-ui-ex/src/com/intellij/openapi/editor/ex/util/LayeredLexerEditorHighlighter.java b/platform/editor-ui-ex/src/com/intellij/openapi/editor/ex/util/LayeredLexerEditorHighlighter.java index 8af290897cd1..5f0ad88fa43e 100644 --- a/platform/editor-ui-ex/src/com/intellij/openapi/editor/ex/util/LayeredLexerEditorHighlighter.java +++ b/platform/editor-ui-ex/src/com/intellij/openapi/editor/ex/util/LayeredLexerEditorHighlighter.java @@ -174,11 +174,14 @@ public class LayeredLexerEditorHighlighter extends LexerEditorHighlighter { // do NOT synchronize before updateLayers due to deadlock with PsiLock final boolean changed = updateLayers(); + //noinspection SynchronizeOnThis synchronized (this) { if (changed) { - CharSequence text = myText; - myText = null; - setText(text); + Document document = getDocument(); + if (document != null) { + myText = null; + super.setText(document.getImmutableCharSequence()); + } } return new LayeredHighlighterIteratorImpl(startOffset); }