RFR: 8342233: Regression: TextInputControl selection is backwards in RTL mode

Alexander Zuev kizune at openjdk.org
Fri Nov 22 23:59:29 UTC 2024


On Fri, 25 Oct 2024 22:00:37 GMT, Andy Goryachev <angorya at openjdk.org> wrote:

> A fix for [JDK-8319844](https://bugs.openjdk.org/browse/JDK-8319844) Text/TextFlow.hitTest() introduced a regression in the `TextArea`/`TextField`/`PasswordField` in the RTL mode.
> 
> The fix is to flip the x coordinates when needed in the `TextAreaSkin`/`TextFieldSkin`.
> 
> The RTL node orientation also breaks navigation using keyboard arrow keys, but that's a different issue: [JDK-8296266](https://bugs.openjdk.org/browse/JDK-8296266).
> 
> ---
> 
> I tried to devise a headful test, but it is currently blocked by [JDK-8189167](https://bugs.openjdk.org/browse/JDK-8189167)
> 
> The fix can be tested manually using the Monkey Tester, with the headful test to be added probably as a part of [JDK-8326869](https://bugs.openjdk.org/browse/JDK-8326869) .

Marked as reviewed by kizune (Author).

modules/javafx.controls/src/main/java/javafx/scene/control/skin/TextAreaSkin.java line 840:

> 838:             Bounds bounds = paragraphNode.getBoundsInLocal();
> 839:             double paragraphViewY = paragraphNode.getLayoutY() + bounds.getMinY();
> 840:             if (

I really don't like empty opening brackets in conditions but i guess it is not explicitly prohibited. Aside of that fix looks reasonable.

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

PR Review: https://git.openjdk.org/jfx/pull/1609#pullrequestreview-2417482719
PR Review Comment: https://git.openjdk.org/jfx/pull/1609#discussion_r1830536693


More information about the openjfx-dev mailing list