On Tue, 30 Jan 2024 20:32:36 GMT, Martin Fox <m...@openjdk.org> wrote:

> This is a Mac only bug. If the user was in the middle of IM text composition 
> and clicked on a different node the partially composed text was left in the 
> old node and the IM window wasn't dismissed. This PR implements the existing 
> finishInputMethodComposition call so it can commit the text and dismiss the 
> IM window before focus moves away from the node where composition was taking 
> place.
> 
> This PR changes the implementation of `unmarkText` to match what we want and 
> what Apple says it should do ("The text view should accept the marked text as 
> if it had been inserted normally"). With that said I haven't found an IME 
> that calls this routine.

The code changes look good. I did some cursory testing (since both you and Andy 
did extensive testing) and it fixes the bug.

I left one minor comment. If you choose to fix it, I'll reapprove.

modules/javafx.graphics/src/main/java/com/sun/glass/ui/mac/MacView.java line 81:

> 79:     @Override native protected void _exitFullscreen(long ptr, boolean 
> animate);
> 80:     @Override native protected void _enableInputMethodEvents(long ptr, 
> boolean enable);
> 81:     @Override native protected void _finishInputMethodComposition(long 
> ptr);

Now that you override this method on Mac, I recommend changing the comment in 
the base class from `... needed only on Windows` to `... needed only on some 
platforms`.

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

Marked as reviewed by kcr (Lead).

PR Review: https://git.openjdk.org/jfx/pull/1356#pullrequestreview-1859616385
PR Review Comment: https://git.openjdk.org/jfx/pull/1356#discussion_r1476258024

Reply via email to