changeset 3016:cdbb6e073c60

6575419: Solaris : XSetICFoucs is not called with Java application at appropriate timing Reviewed-by: okutsu
author naoto
date Thu, 14 Oct 2010 11:37:22 -0700
parents d3c60dbfce57
children abc171d85be6
files src/solaris/classes/sun/awt/X11InputMethod.java
diffstat 1 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/solaris/classes/sun/awt/X11InputMethod.java	Thu Oct 14 18:46:05 2010 +0400
+++ b/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;
     }