From ca690981cff6d179490e6478d99c00aa2ec64c49 Mon Sep 17 00:00:00 2001 From: Sergey Savenko Date: Mon, 29 Sep 2014 19:38:41 +0400 Subject: [PATCH] DBE: fix broken highlighting in EditorTextFieldRenderer --- .../com/intellij/ui/EditorTextFieldCellRenderer.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ui/EditorTextFieldCellRenderer.java b/platform/platform-impl/src/com/intellij/ui/EditorTextFieldCellRenderer.java index a9510359c76b..06b4a9ddcd70 100644 --- a/platform/platform-impl/src/com/intellij/ui/EditorTextFieldCellRenderer.java +++ b/platform/platform-impl/src/com/intellij/ui/EditorTextFieldCellRenderer.java @@ -140,7 +140,7 @@ public abstract class EditorTextFieldCellRenderer implements TableCellRenderer, } public void setText(String text) { - setText(text, true); + setText(text, false); } @Override @@ -187,7 +187,7 @@ public abstract class EditorTextFieldCellRenderer implements TableCellRenderer, } } - setText(myDocumentTextBuilder.toString(), false); + setText(myDocumentTextBuilder.toString(), true); } private static void appendAbbreviatedLine(StringBuilder to, String line, FontMetrics metrics, int maxWidth) { @@ -212,8 +212,10 @@ public abstract class EditorTextFieldCellRenderer implements TableCellRenderer, } } - private void setText(String text, boolean updatePreferredSize) { - myEditor.getMarkupModel().removeAllHighlighters(); + private void setText(String text, boolean abbreviationOfCurrentText) { + if (!abbreviationOfCurrentText) { + myEditor.getMarkupModel().removeAllHighlighters(); + } myEditor.getDocument().setText(text); myEditor.getHighlighter().setText(text); @@ -222,7 +224,7 @@ public abstract class EditorTextFieldCellRenderer implements TableCellRenderer, SelectionModel selectionModel = myEditor.getSelectionModel(); selectionModel.setSelection(0, selectionModel.hasSelection() ? myEditor.getDocument().getTextLength() : 0); - if (updatePreferredSize) { + if (!abbreviationOfCurrentText) { myPreferredSize = super.getPreferredSize(); } }