RFR: 8284281: [Accessibility] [Win] [Narrator] Exceptions with TextArea & TextField when deleted last char [v2]

Ambarish Rapte arapte at openjdk.org
Fri Aug 26 05:59:07 UTC 2022


On Wed, 24 Aug 2022 14:21:44 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:

>> Ambarish Rapte has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   change the fix for TextArea Exception
>
> modules/javafx.graphics/src/main/java/javafx/scene/text/Text.java line 1990:
> 
>> 1988:                 int offset = (Integer)parameters[0];
>> 1989:                 TextLine[] lines = getTextLayout().getLines();
>> 1990:                 if (offset > getTextInternal().length()) return lines.length;
> 
> A couple questions:
> 
> 1. This will return an offset that represents the position just past the end of the list of lines. I presume this is OK?
> 2. The `LINE_START` and `LINE_END` cases also can return null. Should a similar fix be applied for those cases?

When rechecked it looks wrong to change the return value/type. At several instances the return value `null` is used to assume that the control is `TextField`.
1. https://github.com/openjdk/jfx/blob/f95f09f5af561e3a6f3804a4f54aff83e9d2bb0b/modules/javafx.graphics/src/main/java/com/sun/glass/ui/win/WinTextRangeProvider.java#L183
2. https://github.com/openjdk/jfx/blob/f95f09f5af561e3a6f3804a4f54aff83e9d2bb0b/modules/javafx.graphics/src/main/java/com/sun/glass/ui/win/WinTextRangeProvider.java#L197

So changed to an alternative way of passing correct offset: If start(offset) is larger than length of text then pass length of text.

-------------

PR: https://git.openjdk.org/jfx/pull/884


More information about the openjfx-dev mailing list