diff --git a/src/solaris/classes/sun/awt/X11InputMethod.java b/src/solaris/classes/sun/awt/X11InputMethod.java index b87877c8386d24f100e8e0828331a7da0bf1f697..d958283afa6553739275e3ff2e195cede6b64f1b 100644 --- a/src/solaris/classes/sun/awt/X11InputMethod.java +++ b/src/solaris/classes/sun/awt/X11InputMethod.java @@ -96,6 +96,7 @@ public abstract class X11InputMethod extends InputMethodAdapter { 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 @@ public abstract class X11InputMethod extends InputMethodAdapter { 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 @@ public abstract class X11InputMethod extends InputMethodAdapter { */ lastXICFocussedComponent = awtFocussedComponent; isLastXICActive = isAc; + isLastTemporary = isTemporary; isActive = false; }