# HG changeset patch # User naoto # Date 1287081442 25200 # Node ID 1e57288ce18649d5217a7b50bed3cecf56f567b0 # Parent c101d59707f358562237ab7357d91accc8bbb312 6575419: Solaris : XSetICFoucs is not called with Java application at appropriate timing Reviewed-by: okutsu diff -r c101d59707f3 -r 1e57288ce186 jdk/src/solaris/classes/sun/awt/X11InputMethod.java --- a/jdk/src/solaris/classes/sun/awt/X11InputMethod.java Thu Oct 14 18:46:05 2010 +0400 +++ b/jdk/src/solaris/classes/sun/awt/X11InputMethod.java Thu Oct 14 11:37:22 2010 -0700 @@ -96,6 +96,7 @@ private Component awtFocussedComponent = null; private Component lastXICFocussedComponent = null; private boolean isLastXICActive = false; + private boolean isLastTemporary = false; private boolean isActive = false; private boolean isActiveClient = false; private static Map[] highlightStyles; @@ -349,7 +350,7 @@ current focussed component, change the XIC focus to the newly focussed component. */ - if (lastXICFocussedComponentPeer != awtFocussedComponentPeer || + if (isLastTemporary || lastXICFocussedComponentPeer != awtFocussedComponentPeer || isLastXICActive != haveActiveClient()) { if (lastXICFocussedComponentPeer != null) { setXICFocus(lastXICFocussedComponentPeer, false, isLastXICActive); @@ -401,6 +402,7 @@ */ lastXICFocussedComponent = awtFocussedComponent; isLastXICActive = isAc; + isLastTemporary = isTemporary; isActive = false; }