<AWT Dev> RFR: 8201429: Support AIX Input Method Editor (IME) for AWT Input Method Framework (IMF)
Langer, Christoph
christoph.langer at sap.com
Mon May 28 12:38:41 UTC 2018
Hi Phil,
thanks for your review. I have incorporated your suggestions: http://cr.openjdk.java.net/~clanger/webrevs/8201429.3/
I'll run it through our internal testing and run a jdk-submit job with it. When all is green, I'll push it to jdk-client tomorrow.
Best regards
Christoph
> -----Original Message-----
> From: Philip Race [mailto:philip.race at oracle.com]
> Sent: Sonntag, 20. Mai 2018 01:53
> To: Langer, Christoph <christoph.langer at sap.com>
> Cc: awt-dev at openjdk.java.net; Ichiroh Takiguchi
> <takiguc at linux.vnet.ibm.com>; build-dev at openjdk.java.net; ppc-aix-port-
> dev at openjdk.java.net
> Subject: Re: <AWT Dev> RFR: 8201429: Support AIX Input Method Editor
> (IME) for AWT Input Method Framework (IMF)
>
> I think I am 99% OK with this.
>
> In general I see what you are doing here and how you've presented the
> webrev.
> Treating even the new files as moved helps see the differences but it is
> still
> a challenge to follow all the moving pieces.
>
> So before we had just
>
> abstract class unix/X11InputMethod <- class unix/XInputMethod
>
> Now we have
>
> abstract class unix/X11InputMethodBase
>
> / \
>
> / \
>
> / \
>
> / \
>
> abstract class unix/X11InputMethod abstract class
> aix/X11InputMethod
>
> \ /
> \ /
> \ /
> class unix/XInputMethod
>
>
>
> I have submitted a build job with this patch to make sure it all builds
> on Linux & Solaris ..
> and it was all fine.
>
> But testing for this would have to be manual, and I don't have cycles
> for that.
> So I'll have to accept that the testing done by IBM was enough
>
> So only minor comments ...
> http://cr.openjdk.java.net/~clanger/webrevs/8201429.2/src/java.desktop/u
> nix/classes/sun/awt/X11InputMethodBase.java.sdiff.html
>
> 730 case 0: //None of the value is set by Wnn
>
> "value is " -> "values are " ?
>
>
> http://cr.openjdk.java.net/~clanger/webrevs/8201429.2/src/java.desktop/u
> nix/native/libawt_xawt/awt/awt_InputMethod.c.sdiff.html
>
> why did you move
>
> 26 #ifdef HEADLESS
> 27 #error This file should not be included in headless library
> 28 #endif
>
>
> I think it should be first. It is also missing from the equivalent AIX file but that
> is
> up to you .. I really didn't look any further at the AIX files.
>
> .. and there seems no point to moving around some of the other includes
> except to make the webrev harder to read :-)
>
> But good job cleaning up a lot of the formatting of the native code.
>
> -phil.
>
>
>
>
>
> On 5/18/18, 4:59 AM, Langer, Christoph wrote:
> > Hi all,
> >
> > Here is an updated webrev:
> > http://cr.openjdk.java.net/~clanger/webrevs/8201429.2/
> > Can someone from the graphics/awt team please have a look at that
> change? Especially checking that we don't break non-AIX platforms? Thanks
> in advance.
> >
> > @Ichiroh: Thanks for your review and tests. Adressing your points:
> >
> >> resetCompositionState() was missing in
> >> src/java.desktop/aix/classes/sun/awt/X11InputMethod.java
> >>
> ==========================================================
> >> ==
> >> --- a/src/java.desktop/aix/classes/sun/awt/X11InputMethod.java Wed
> May
> >> 09 09:05:32 2018 +0900
> >> +++ b/src/java.desktop/aix/classes/sun/awt/X11InputMethod.java Mon
> >> May
> >> 14 21:25:50 2018 +0900
> >> @@ -56,6 +56,21 @@
> >> }
> >>
> >> /**
> >> + * Reset the composition state to the current composition state.
> >> + */
> >> + protected void resetCompositionState() {
> >> + if (compositionEnableSupported&& haveActiveClient()) {
> >> + try {
> >> + /* Restore the composition mode to the last saved
> >> composition
> >> + mode. */
> >> + setCompositionEnabled(savedCompositionState);
> >> + } catch (UnsupportedOperationException e) {
> >> + compositionEnableSupported = false;
> >> + }
> >> + }
> >> + }
> >> +
> >> + /**
> >> * Activate input method.
> >> */
> >> public synchronized void activate() {
> >>
> ==========================================================
> > Good catch. I've incorporated that in my new webrev.
> >
> >> Otherwise,
> >> we could not find out any functional difference on Linux.
> >> we could not find out any functional difference between our modified
> code and your code on AIX.
> >>
> >> By code check, we found following difference.
> >>
> ==========================================================
> >> ==
> >> --- a/src/java.desktop/aix/native/libawt_xawt/awt/awt_InputMethod.c
> >> Wed May 09 09:05:32 2018 +0900
> >> +++ b/src/java.desktop/aix/native/libawt_xawt/awt/awt_InputMethod.c
> >> Mon May 14 21:25:50 2018 +0900
> >> @@ -248,6 +248,10 @@
> >> "flushText",
> >> "()V");
> >> JNU_CHECK_EXCEPTION_RETURN(env, NULL);
> >> + if ((*env)->ExceptionOccurred(env)) {
> >> + (*env)->ExceptionDescribe(env);
> >> + (*env)->ExceptionClear(env);
> >> + }
> >> /* IMPORTANT:
> >> The order of the following calls is critical since
> >> "imInstance" may
> >> point to the global reference itself, if
> >> "freeX11InputMethodData" is called
> >>
> ==========================================================
> >>
> >> Did you remove this code intentionally ?
> > Yes, I removed that one intentionally. There is no point in doing the
> Exception check/clearing after a call to
> JNU_CHECK_EXCEPTION_RETURN(env, NULL);
> >
> >> Otherwise, I think the other changes were acceptable.
> >
> >
> > Thanks and Best regards
> > Christoph
> >
More information about the ppc-aix-port-dev
mailing list