RFR: 8305418: [Linux] Replace obsolete XIM as Input Method Editor [v13]

Thiago Milczarek Sayao tsayao at openjdk.org
Sat Dec 16 22:59:06 UTC 2023


On Wed, 13 Dec 2023 19:01:25 GMT, Martin Fox <mfox at openjdk.org> wrote:

>> Thiago Milczarek Sayao has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Account the case of !filtered
>
> modules/javafx.graphics/src/main/java/com/sun/javafx/tk/quantum/GlassViewEventHandler.java line 681:
> 
>> 679:     public double[] getInputMethodCandidateRelativePos(int offset) {
>> 680:         Point2D p2d = scene.inputMethodRequests.getTextLocationRelative(offset);
>> 681:         return new double[] { p2d.getX(), p2d.getY() };
> 
> On my system the IM window is incorrectly positioned. This appears to be because I'm running a high-DPI display with 200% magnification. I think you need to call getPlatformScaleX and getPlatformScaleY and apply those scaling factors before passing these coordinates on to glass. You'll see other places in this file where conversions like that are being performed.

I did revert the relative positioning change as it will get in the way of merging this. Could you check if it's correctly positioned now? I don't own a fancy monitor :) Tried 200% scale here and everything looks monstrous. 125% scale looks correct.

> modules/javafx.graphics/src/main/native-glass/gtk/glass_window_ime.cpp line 67:
> 
>> 65:     } while (pango_attr_iterator_next(iter));
>> 66: 
>> 67:     pango_attr_iterator_destroy (iter);
> 
> According to the docs you need to release the attribute list using pango_attr_list_unref().

You're right. Fixed.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/1080#discussion_r1428963127
PR Review Comment: https://git.openjdk.org/jfx/pull/1080#discussion_r1428962734


More information about the openjfx-dev mailing list