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.bylok...@oracle.com>
Sent: Freitag, 21. Februar 2020 08:39
To: Ichiroh Takiguchi <taki...@linux.vnet.ibm.com>; Langer, Christoph
<christoph.lan...@sap.com>; awt-dev@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.

Reply via email to