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