diff options
author | Andrey Loskutov | 2017-02-02 08:59:04 +0000 |
---|---|---|
committer | Andrey Loskutov | 2017-02-02 20:21:07 +0000 |
commit | 7a0eb42a180d25360a95657e2727e17b7d6d2132 (patch) | |
tree | abec7b09df9cfa5109d91e585078fcdcb164c498 | |
parent | 987947306302e3c4960fc6f7d57b82e2a5a2435a (diff) | |
download | eclipse.platform.text-7a0eb42a180d25360a95657e2727e17b7d6d2132.tar.gz eclipse.platform.text-7a0eb42a180d25360a95657e2727e17b7d6d2132.tar.xz eclipse.platform.text-7a0eb42a180d25360a95657e2727e17b7d6d2132.zip |
Bug 325434 - [rulers] ArrayIndexOutOfBoundsException inI20170202-2000
LineNumberRulerColumn.paintLine
If the paint request has line with higher index, just don't paint, our
internal state is not up-to-date with the document.
Change-Id: I04c04d7030d790bfcf352182d596e883adde6779
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
-rw-r--r-- | org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineNumberRulerColumn.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineNumberRulerColumn.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineNumberRulerColumn.java index d0671754d82..b26f78ac276 100644 --- a/org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineNumberRulerColumn.java +++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/source/LineNumberRulerColumn.java @@ -841,7 +841,12 @@ public class LineNumberRulerColumn implements IVerticalRulerColumn { int widgetLine= JFaceTextUtil.modelLineToWidgetLine(fCachedTextViewer, line); String s= createDisplayString(line); - int indentation= fIndentation[s.length()]; + int index= s.length(); + if (index >= fIndentation.length) { + // Bug 325434: our data is not in-sync with the document, don't try to paint + return; + } + int indentation= fIndentation[index]; int baselineBias= getBaselineBias(gc, widgetLine); gc.drawString(s, indentation, y + baselineBias, true); } |