mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
EA-26097
This commit is contained in:
+19
-7
@@ -41,20 +41,28 @@ class PersistentRangeMarker extends RangeMarkerImpl {
|
||||
|
||||
private void storeLinesAndCols(DocumentEvent e) {
|
||||
// document might have been changed already
|
||||
if (getStartOffset() < myDocument.getTextLength()) {
|
||||
myStartLine = myDocument.getLineNumber(getStartOffset());
|
||||
myStartColumn = getStartOffset() - myDocument.getLineStartOffset(myStartLine);
|
||||
int startOffset = getStartOffset();
|
||||
if (startOffset <= myDocument.getTextLength()) {
|
||||
myStartLine = myDocument.getLineNumber(startOffset);
|
||||
myStartColumn = startOffset - myDocument.getLineStartOffset(myStartLine);
|
||||
if (myStartColumn < 0) {
|
||||
invalidate(e);
|
||||
}
|
||||
}
|
||||
if (getEndOffset() < myDocument.getTextLength()) {
|
||||
myEndLine = myDocument.getLineNumber(getEndOffset());
|
||||
myEndColumn = getEndOffset() - myDocument.getLineStartOffset(myEndLine);
|
||||
else {
|
||||
invalidate(e);
|
||||
}
|
||||
int endOffset = getEndOffset();
|
||||
if (endOffset <= myDocument.getTextLength()) {
|
||||
myEndLine = myDocument.getLineNumber(endOffset);
|
||||
myEndColumn = endOffset - myDocument.getLineStartOffset(myEndLine);
|
||||
if (myEndColumn < 0) {
|
||||
invalidate(e);
|
||||
}
|
||||
}
|
||||
else {
|
||||
invalidate(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -83,7 +91,11 @@ class PersistentRangeMarker extends RangeMarkerImpl {
|
||||
storeLinesAndCols(e);
|
||||
}
|
||||
}
|
||||
if (getEndOffset() < getStartOffset() || getEndOffset() > getDocument().getTextLength()) {
|
||||
if (intervalEnd() < intervalStart() ||
|
||||
intervalEnd() > getDocument().getTextLength() ||
|
||||
myEndLine < myStartLine ||
|
||||
myStartLine == myEndLine && myEndColumn < myStartColumn ||
|
||||
getDocument().getLineCount() < myEndLine) {
|
||||
invalidate(e);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user