<AWT Dev> RFR: 6278172: TextComponent.getSelectedText() throws StringIndexOutOfBoundsException [v2]

Sergey Bylokhov serb at openjdk.java.net
Thu Jan 7 03:42:24 UTC 2021


> 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.

Sergey Bylokhov has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:

 - Merge branch 'master' into JDK-6278172
 - Merge branch 'master' into JDK-6278172
 - Initial fix

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/1104/files
  - new: https://git.openjdk.java.net/jdk/pull/1104/files/a414f2df..5c99c3d4

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1104&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1104&range=00-01

  Stats: 360278 lines in 4004 files changed: 225151 ins; 88575 del; 46552 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1104.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1104/head:pull/1104

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


More information about the awt-dev mailing list