<AWT Dev> Integrated: 6278172: TextComponent.getSelectedText() throws StringIndexOutOfBoundsException

Sergey Bylokhov serb at openjdk.java.net
Sat Jan 9 07:25:59 UTC 2021


On Sat, 7 Nov 2020 00:14:19 GMT, Sergey Bylokhov <serb at openjdk.org> wrote:

> The text components are implements as wrappers over the "native" peers. Most of the functionality is provided by the peers not wrappers like TextArea/TextField. The current bug occurs in the TextArea/TextField when the native peer was created yet.
> 
> The steps to reproduce:
>  1. Sets the long text to the component
>  2. Select all text in the component
>  3. Sets the short text to the component
>  4. Request the selected text -> BOOM
> 
> The bug on step 4 occurred because we request a long substring of the short text. To eliminate an exception we have two choices:
>  1. Preserve the selection in the setText(), but limit it by the length of the current text.
>  2. Resets the selection.
> 
> I tried both solutions, the second caused some TCK tests to fail, so I selected the first one.

This pull request has now been integrated.

Changeset: 6472104e
Author:    Sergey Bylokhov <serb at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/6472104e
Stats:     119 lines in 2 files changed: 107 ins; 3 del; 9 mod

6278172: TextComponent.getSelectedText() throws StringIndexOutOfBoundsException

Reviewed-by: aivanov

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

PR: https://git.openjdk.java.net/jdk/pull/1104


More information about the awt-dev mailing list