From 3bc5070c66aab87f74c3edf6a282b246395e1a7d Mon Sep 17 00:00:00 2001 From: Denis Zhdanov Date: Wed, 4 May 2011 12:29:51 +0400 Subject: [PATCH] EA-26930 - IOOBE: SegmentArray.findSegmentIndex --- .../folding/impl/UpdateFoldRegionsOperation.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/UpdateFoldRegionsOperation.java b/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/UpdateFoldRegionsOperation.java index 7dc308ce45e8..fe3c501ef4bc 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/UpdateFoldRegionsOperation.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/folding/impl/UpdateFoldRegionsOperation.java @@ -140,7 +140,11 @@ class UpdateFoldRegionsOperation implements Runnable { final Document document = myEditor.getDocument(); final int firstLine = document.getLineNumber(range.getStartOffset()); final int lastLine = document.getLineNumber(range.getEndOffset()); - final int currentLine = document.getLineNumber(myEditor.getCaretModel().getOffset()); + int caretOffset = myEditor.getCaretModel().getOffset(); + if (caretOffset > myEditor.getDocument().getTextLength()) { + return false; + } + final int currentLine = document.getLineNumber(caretOffset); caretInside = firstLine <= currentLine && currentLine <= lastLine; }