Fixed bug 377302: [painting] Enclosing brackets highlighting throws IAE
in MatchingCharacterPainter.draw(..)
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/MatchingCharacterPainter.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/MatchingCharacterPainter.java
index 3fb9c56..5cc1925 100644
--- a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/MatchingCharacterPainter.java
+++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/MatchingCharacterPainter.java
@@ -20,7 +20,6 @@
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.jface.text.BadLocationException;
-import org.eclipse.jface.text.DocumentEvent;
import org.eclipse.jface.text.IDocument;
import org.eclipse.jface.text.IPaintPositionManager;
import org.eclipse.jface.text.IPainter;
@@ -431,7 +430,7 @@
/**
* Installs or uninstalls the text listener depending on the boolean parameter.
*
- * @param install <code>true</code> to install the text listener, <code>false</code> to uninstall
+ * @param install <code>true</code> to install the text listener, <code>false</code> to uninstall
*
* @since 3.8
*/
@@ -484,20 +483,14 @@
if (!fHighlightEnclosingPeerCharacters || !(fMatcher instanceof ICharacterPairMatcherExtension))
return;
- String text= event.getText();
- String replacedText= event.getReplacedText();
-
- boolean viewerRedrawState= event.getViewerRedrawState();
- DocumentEvent documentEvent= event.getDocumentEvent();
- if (documentEvent == null && !viewerRedrawState)
+ if (!event.getViewerRedrawState())
return;
+ String text= event.getText();
+ String replacedText= event.getReplacedText();
ICharacterPairMatcherExtension matcher= (ICharacterPairMatcherExtension)fMatcher;
- boolean found= searchForCharacters(text, matcher) || searchForCharacters(replacedText, matcher);
-
- if (found || (documentEvent == null && viewerRedrawState)) {
+ if (searchForCharacters(text, matcher) || searchForCharacters(replacedText, matcher))
paint(IPainter.INTERNAL);
- }
}
/**