> This is a follow up bug-fix to > [JDK-8284281](https://bugs.openjdk.org/browse/JDK-8284281) > > Issue: > When Narrator is running, > Following scenarios with TextField or TextArea cause IllegalArgumentException > or NPE > > 1. Move cursor to beginning of line, Press and hold DELETE key > 2. Move cursor to beginning of line, Press and hold CTRL + DELETE key > 3. Move cursor to end of line, Press and hold BACKSPACE key > 4. Move cursor to end of line, Press and hold CTRL + BACKSPACE key > > Fix: > Two variable `start` and `end` in `WinTextRangeProvider` should be validated > against text length > 1. Added a method `validateRange()`, and is called several from methods which > access text based on `start` and `end` variables > 2. Partially reverted fix of > [JDK-8284281](https://bugs.openjdk.org/browse/JDK-8284281) : > - removed > https://github.com/openjdk/jfx/blob/35675c8d27d54a26059b182614e18152794dbcec/modules/javafx.graphics/src/main/java/com/sun/glass/ui/win/WinTextRangeProvider.java#L180 > - and used `validateRange()` instead to be symmetrical. > > Verification: > To observe the issue. > > 1. Run any program with TextField and/or TextArea > 2. Launch Windows Narrator > 3. Run the exception causing scenarios several times: > > - Move cursor to beginning of line, Press and hold DELETE key > - Move cursor to beginning of line, Press and hold CTRL + DELETE key > - Move cursor to end of line, Press and hold BACKSPACE key > - Move cursor to end of line, Press and hold CTRL + BACKSPACE key
Ambarish Rapte has updated the pull request incrementally with one additional commit since the last revision: call validateRange() on line 236-237 ------------- Changes: - all: https://git.openjdk.org/jfx/pull/907/files - new: https://git.openjdk.org/jfx/pull/907/files/78bf9185..99e8b68a Webrevs: - full: https://webrevs.openjdk.org/?repo=jfx&pr=907&range=02 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=907&range=01-02 Stats: 2 lines in 1 file changed: 0 ins; 1 del; 1 mod Patch: https://git.openjdk.org/jfx/pull/907.diff Fetch: git fetch https://git.openjdk.org/jfx pull/907/head:pull/907 PR: https://git.openjdk.org/jfx/pull/907