RFR: 8305418: [Linux] Replace obsolete XIM as Input Method Editor [v10]
Martin Fox
mfox at openjdk.org
Tue Nov 28 20:58:29 UTC 2023
On Thu, 28 Sep 2023 01:05:20 GMT, Thiago Milczarek Sayao <tsayao at openjdk.org> wrote:
>> This replaces obsolete XIM and uses gtk api for IME.
>> Gtk uses [ibus](https://github.com/ibus/ibus)
>>
>> Gtk3+ uses relative positioning (as Wayland does), so I've added a Relative positioning on `InputMethodRequest`.
>>
>> [Screencast from 17-09-2023 21:59:04.webm](https://github.com/openjdk/jfx/assets/30704286/6c398e39-55a3-4420-86a2-beff07b549d3)
>
> Thiago Milczarek Sayao has updated the pull request incrementally with one additional commit since the last revision:
>
> Make it a default method for compatibility
modules/javafx.graphics/src/main/java/com/sun/glass/ui/gtk/GtkView.java line 105:
> 103: @Override
> 104: protected void _finishInputMethodComposition(long ptr) {
> 105: //nothing
See [JDK-8320912](https://bugs.openjdk.org/browse/JDK-8320912). This routine is called when the focus moves from one TextInputControl to another. Doing nothing here leaves the previous field in a bad state.
modules/javafx.graphics/src/main/native-glass/gtk/GlassApplication.cpp line 450:
> 448: }
> 449:
> 450: if (event->type == GDK_KEY_PRESS && ctx != NULL && ctx->filterIME(event)) {
In the previous code both PRESS and RELEASE events were sent to the filter and gtk_im_context_filter_keypress says that it can filter both. Is there some particular reason you're not calling this on RELEASE events?
modules/javafx.graphics/src/main/native-glass/gtk/glass_window.h line 34:
> 32: #include <set>
> 33: #include <vector>
> 34: #include <queue>
Doesn't look like you're using this.
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1080#discussion_r1408394009
PR Review Comment: https://git.openjdk.org/jfx/pull/1080#discussion_r1408398206
PR Review Comment: https://git.openjdk.org/jfx/pull/1080#discussion_r1408399843
More information about the openjfx-dev
mailing list