[java-atk-wrapper] Text: Fix get_text_before/after_offset in non-Extended case
- From: Samuel Thibault <sthibaul src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [java-atk-wrapper] Text: Fix get_text_before/after_offset in non-Extended case
- Date: Sun, 28 Jul 2019 10:15:43 +0000 (UTC)
commit e5c58ea3106a814668cb6f8adbc72a5b37030dc7
Author: Samuel Thibault <samuel thibault ens-lyon org>
Date: Sun Jul 28 12:15:39 2019 +0200
Text: Fix get_text_before/after_offset in non-Extended case
wrapper/org/GNOME/Accessibility/AtkText.java | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
---
diff --git a/wrapper/org/GNOME/Accessibility/AtkText.java b/wrapper/org/GNOME/Accessibility/AtkText.java
index 9a828a4..ca3f9b2 100644
--- a/wrapper/org/GNOME/Accessibility/AtkText.java
+++ b/wrapper/org/GNOME/Accessibility/AtkText.java
@@ -143,7 +143,10 @@ public class AtkText {
return null;
return new StringSequence(seq.text, seq.startIndex, seq.endIndex+1);
} else {
- return private_get_text_at_offset(offset, boundary_type);
+ StringSequence seq = private_get_text_at_offset(offset, boundary_type);
+ if (seq == null)
+ return null;
+ return private_get_text_at_offset(seq.start_offset-1, boundary_type);
}
}, null);
}
@@ -164,7 +167,10 @@ public class AtkText {
return null;
return new StringSequence(seq.text, seq.startIndex, seq.endIndex+1);
} else {
- return private_get_text_at_offset(offset, boundary_type);
+ StringSequence seq = private_get_text_at_offset(offset, boundary_type);
+ if (seq == null)
+ return null;
+ return private_get_text_at_offset(seq.end_offset, boundary_type);
}
}, null);
}
@@ -517,7 +523,7 @@ public class AtkText {
case AtkTextBoundary.WORD_START :
{
String s = get_text(0, get_character_count());
- int start = getPreviousWordStart(offset, s);
+ int start = getPreviousWordStart(offset+1, s);
if (start == BreakIterator.DONE) {
start = 0;
}
@@ -538,7 +544,7 @@ public class AtkText {
start = 0;
}
- int end = getNextWordEnd(offset, s);
+ int end = getNextWordEnd(offset-1, s);
if (end == BreakIterator.DONE) {
end = s.length();
}
@@ -549,7 +555,7 @@ public class AtkText {
case AtkTextBoundary.SENTENCE_START :
{
String s = get_text(0, get_character_count());
- int start = getPreviousSentenceStart(offset, s);
+ int start = getPreviousSentenceStart(offset+1, s);
if (start == BreakIterator.DONE) {
start = 0;
}
@@ -570,7 +576,7 @@ public class AtkText {
start = 0;
}
- int end = getNextSentenceEnd(offset, s);
+ int end = getNextSentenceEnd(offset-1, s);
if (end == BreakIterator.DONE) {
end = s.length();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]