# 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;
     }