On Mon, 9 Jun 2025 06:22:57 GMT, Jeremy Wood <d...@openjdk.org> wrote:

>> Make sure AquaTextPasswordFieldUI can't use selectWordAction.
>> 
>> The core problem here was we could call selectWordAction in the Aqua LAF on 
>> a JPasswordField. This problem was already solved in the 
>> BasicPasswordFieldUI . The same solution was copied and pasted into the 
>> SynthPasswordFieldUI . But the AquaTextPasswordFieldUI does NOT extend 
>> either class with the solution.
>> 
>> So the problem is partially about multiple inheritance.
>> 
>> My first response at solving the problem is just to move the existing 
>> solution to the parent BasicTextUI class and use an `instanceof` to make 
>> sure it is only applied to JPasswordFields. This should benefit all the 
>> PasswordFieldUI's (that I know about).
>> 
>> There may be many different philosophies/recommendations on how to resolve 
>> this; I'm open to suggestions.
>
> Jeremy Wood has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   8354646: moving test file to new package
>   
>   This is in response to:
>   https://github.com/openjdk/jdk/pull/25443#discussion_r2131872951

Changes requested by aivanov (Reviewer).

src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java line 658:

> 656:             if (map.get(DefaultEditorKit.selectWordAction) != null) {
> 657:                 Action a = map.get(DefaultEditorKit.selectLineAction);
> 658:                 map.remove(DefaultEditorKit.selectWordAction);

Suggestion:

            if (map.get(DefaultEditorKit.selectWordAction) != null) {
                map.remove(DefaultEditorKit.selectWordAction);

                Action a = map.get(DefaultEditorKit.selectLineAction);

This would be clearer: remove first, then if there's a `selectLineAction` 
replace with it.

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

PR Review: https://git.openjdk.org/jdk/pull/25443#pullrequestreview-2911298891
PR Review Comment: https://git.openjdk.org/jdk/pull/25443#discussion_r2136469152

Reply via email to