<AWT Dev> RFR: 8239583 [AIX] simplify the native references in X input methods

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Thu Feb 27 00:59:59 UTC 2020


Hi, Ichiroh, Christoph.

Thank you for confirmation.

On 2/26/20 10:21 am, Ichiroh Takiguchi wrote:
> Hello Sergey.
> 
> Sorry, I'm late.
> 
> I tested your fix on several AIX boxes with different graphic adapter.
> I could not find out any side effect.
> Please let me know if you have any question.
> 
> Thanks,
> Ichiroh Takiguchi
> 
> On 2020-02-21 19:47, Ichiroh Takiguchi wrote:
>> Hello Sergey,
>>
>> Oh OK, I got your point.
>> I will test your code on AIX box and reply to you.
>>
>> Please give me a few more days.
>>
>> Thanks,
>> Ichiroh Takiguchi
>>
>> On 2020-02-21 17:00, Langer, Christoph wrote:
>>> Hi Sergey,
>>>
>>> your change looks good from eyeballing it. I'll put it into our CI and
>>> let you know, should there be any problems.
>>>
>>> As for verifying whether IM functionality still works I'd defer to Ichiroh.
>>>
>>> Thanks
>>> Christoph
>>>
>>>> -----Original Message-----
>>>> From: Sergey Bylokhov <Sergey.Bylokhov at oracle.com>
>>>> Sent: Freitag, 21. Februar 2020 08:39
>>>> To: Ichiroh Takiguchi <takiguc at linux.vnet.ibm.com>; Langer, Christoph
>>>> <christoph.langer at sap.com>; awt-dev at openjdk.java.net
>>>> Subject: RFR: 8239583 [AIX] simplify the native references in X input methods
>>>>
>>>> Hello.
>>>> Please review the fix for jdk/client.
>>>>
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8239583
>>>> Fix: http://cr.openjdk.java.net/~serb/8239583/webrev.00
>>>>
>>>> The purpose of the change is to eliminate the usage of the
>>>> AwtScreenDataPtr in the AIX code. This usage was added in
>>>> the JDK-8201429 to access the "whitepixel/blackpixel" colors
>>>> instead of bg/hg colors defined in createStatusWindow.
>>>>
>>>> So current logic of createStatusWindow looks like this:
>>>>
>>>> 1. The colors for foreground and background are initialized
>>>>      533     bg    = adata->AwtColorMatch(255, 255, 255, adata);
>>>>      534     fg    = adata->AwtColorMatch(0, 0, 0, adata);
>>>>
>>>> 2. The "foreground context" is created using whitepixel as background
>>>>     and blackpixel as foreground.
>>>>      652     statusWindow->fgGC = create_gc(status, FALSE);
>>>>
>>>> 3. The foreground of the "foreground context" created at step2
>>>>     replaced by the "fg"
>>>>      653     XSetForeground(dpy, statusWindow->fgGC, fg);
>>>>
>>>> 4. The "background context" is created using blackpixel as background
>>>>     and whitepixel as foreground.
>>>>      654     statusWindow->bgGC = create_gc(status, TRUE);
>>>>
>>>> 5. The foreground of the "background context" created at step4
>>>>     replaced by the "bg"
>>>>      655     XSetForeground(dpy, statusWindow->bgGC, bg);
>>>>
>>>>
>>>> The logic above looks redundant we do not need to initialize the
>>>> foreground color in the create_gc() because we immediately override it
>>>> by the XSetForeground, and it is possible to eliminate the create_gc()
>>>> completely and set default background color by the XSetBackground();
>>>>
>>>> I don't know why "whitepixel/blackpixel" are used here but if the "fg"
>>>> and "bg" colors at step 1 are incorrect then that colors should be fixed or
>>>> some other local colors should be added.
>>>>
>>>> -- 
>>>> Best regards, Sergey.


-- 
Best regards, Sergey.


More information about the awt-dev mailing list