mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
once again fix AIOOBE in Python backspace handler (EA-20251 - IOOBE: CharArray.charAt)
This commit is contained in:
@@ -157,8 +157,6 @@ public class BackspaceHandler extends EditorWriteActionHandler {
|
||||
if (caretPos.line == 0 || caretPos.column == 0) {
|
||||
return null;
|
||||
}
|
||||
final int startCheckRange = editor.getDocument().getLineStartOffset(caretPos.line);
|
||||
final int endCheckRange = startCheckRange + caretPos.column;
|
||||
|
||||
final CharSequence charSeq = editor.getDocument().getCharsSequence();
|
||||
// smart backspace is activated only if all characters in the check range are whitespace characters
|
||||
@@ -166,9 +164,11 @@ public class BackspaceHandler extends EditorWriteActionHandler {
|
||||
// use logicalPositionToOffset to make sure tabs are handled correctly
|
||||
final LogicalPosition checkPos = new LogicalPosition(caretPos.line, pos);
|
||||
final int offset = editor.logicalPositionToOffset(checkPos);
|
||||
final char c = charSeq.charAt(offset);
|
||||
if (c != '\t' && c != ' ' && c != '\n') {
|
||||
return null;
|
||||
if (offset < charSeq.length()) {
|
||||
final char c = charSeq.charAt(offset);
|
||||
if (c != '\t' && c != ' ' && c != '\n') {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user