[java-atk-wrapper] Text: Fix bound cases for words and sentences



commit 7860f0b5640f8f2749543fbced739906bff77cbd
Author: Samuel Thibault <samuel thibault ens-lyon org>
Date:   Sun Jul 28 12:31:13 2019 +0200

    Text: Fix bound cases for words and sentences

 wrapper/org/GNOME/Accessibility/AtkText.java | 12 ++++++++++++
 1 file changed, 12 insertions(+)
---
diff --git a/wrapper/org/GNOME/Accessibility/AtkText.java b/wrapper/org/GNOME/Accessibility/AtkText.java
index ca3f9b2..5e6019c 100644
--- a/wrapper/org/GNOME/Accessibility/AtkText.java
+++ b/wrapper/org/GNOME/Accessibility/AtkText.java
@@ -522,6 +522,9 @@ public class AtkText {
                        }
                        case AtkTextBoundary.WORD_START :
                        {
+                               if (offset == get_character_count())
+                                       return new StringSequence("", 0, 0);
+
                                String s = get_text(0, get_character_count());
                                int start = getPreviousWordStart(offset+1, s);
                                if (start == BreakIterator.DONE) {
@@ -538,6 +541,9 @@ public class AtkText {
                        }
                        case AtkTextBoundary.WORD_END :
                        {
+                               if (offset == 0)
+                                       return new StringSequence("", 0, 0);
+
                                String s = get_text(0, get_character_count());
                                int start = getPreviousWordEnd(offset, s);
                                if (start == BreakIterator.DONE) {
@@ -554,6 +560,9 @@ public class AtkText {
                        }
                        case AtkTextBoundary.SENTENCE_START :
                        {
+                               if (offset == get_character_count())
+                                       return new StringSequence("", 0, 0);
+
                                String s = get_text(0, get_character_count());
                                int start = getPreviousSentenceStart(offset+1, s);
                                if (start == BreakIterator.DONE) {
@@ -570,6 +579,9 @@ public class AtkText {
                        }
                        case AtkTextBoundary.SENTENCE_END :
                        {
+                               if (offset == 0)
+                                       return new StringSequence("", 0, 0);
+
                                String s = get_text(0, get_character_count());
                                int start = getPreviousSentenceEnd(offset, s);
                                if (start == BreakIterator.DONE) {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]