> This PR fixes a regression after > [JDK-8212102](https://bugs.openjdk.org/browse/JDK-8212102). > > When a TextField control has some previous content, and new text with only > invalid characters (0x7F, new line, tabs, <0x20) is set, > `TextInputControl::filterInput` is used to strip them out, and the new text > has length 0. > > During the refactoring in JDK-8212102, the checks: > > int length = txt.length(); > if (end > start + length) end = length; > if (start > length-1) start = end = 0; > > were removed. > > In this particular case, when the new filtered text has length 0, we need > those checks, so start and end are set to 0, and txt.substring(start, end) > doesn't throw the IOOBE anymore. > > A test is added to verify this scenario. It fails with the proposed patch, > passes with it.
Jose Pereda has updated the pull request incrementally with one additional commit since the last revision: add curly braces ------------- Changes: - all: https://git.openjdk.org/jfx/pull/1043/files - new: https://git.openjdk.org/jfx/pull/1043/files/0163b014..cc94040c Webrevs: - full: https://webrevs.openjdk.org/?repo=jfx&pr=1043&range=01 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1043&range=00-01 Stats: 6 lines in 1 file changed: 4 ins; 0 del; 2 mod Patch: https://git.openjdk.org/jfx/pull/1043.diff Fetch: git fetch https://git.openjdk.org/jfx pull/1043/head:pull/1043 PR: https://git.openjdk.org/jfx/pull/1043