From 8fde3d98427065b5261cda8c5ad003a2bdc575bd Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Wed, 25 Apr 2007 08:27:30 +0000 Subject: [PATCH] Fix for 183653: While in CDT perspective CTRL^X of 1000 lines out of a 1500 line source file causes error --- .../org/eclipse/cdt/internal/ui/LineBackgroundPainter.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/LineBackgroundPainter.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/LineBackgroundPainter.java index 384b4c86996..26a46ec8003 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/LineBackgroundPainter.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/LineBackgroundPainter.java @@ -400,8 +400,11 @@ public class LineBackgroundPainter implements IPainter, LineBackgroundListener { private int getTopIndexStartOffset() { if (fTextWidget != null) { int top= fTextWidget.getTopIndex(); - top= fTextWidget.getOffsetAtLine(top); - return getDocumentOffset(top); + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=183653 + top= fTextWidget.getOffsetAtLine(Math.min(fTextWidget.getLineCount() - 1, top)); + if (top >= 0) { + return getDocumentOffset(top); + } } return -1; }