JDK-4391718 : Ladybird:Input method switching does not work well Solaris sparc and x86
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt:i18n
  • Affected Version: 1.3.1
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: solaris
  • CPU: x86
  • Submitted: 2000-11-22
  • Updated: 2000-12-13
  • Resolved: 2000-12-07
Related Reports
Duplicate :  
Relates :  
Description
Tested with jdk1.3.1 b08 on Solaris8, 7, 2.6 sparc and Solaris8 x86 Japanese.

Switching Input Method does not work well.
Here are the phenomenon. (They do not occur everytime, rather intermitted)

1)Selecting one of the IM, for example, "Wubi IM" from the menu, 
Wubi IM can not be selected and not available and Wubi IM status window does not appear.
Several action of selecting the IM is needed to make the IM available and make the status window appear.
In this case, "Wubi IM" is not checked besides "Wubi IM" in the IM menu.
Sometimes additional action of selecting the same IM makes the IM checked,
sometimes selecting another IM makes the previous selected IM checked. 

For Test IM and Host IM, the same phenomenon is seen.


2)Once one of the IM, for example, Wubi IM is selected and the status window appers, then, selecting another IM, for example, Test IM, Test IM can not be selected and Wubi remains selected and available and Wubi status window is still displayed.

Same as 1) case, several action of selecting the IM make it available.
The same phenomenon as above is seen about status window and being checked IM.


These problems tend to be seen on Solaris x86 rather than sparc.
They are seen in Ladybird builds before b08 and merlin b36 and 
not seen in merlin builds after b38.


To reproduce,

1. Uncompress an attached file on Japanese Solaris sparc or x86, 
then, SPItool directory is created.
2. Compile *.java under SPItool directory
3. Copy Wubi.jar and CityIM.jar to $JAVAHOME/jre/lib/ext/
4. Excute test cases as below;

java 401 ja 
java 402 ja
java 403 ja 
java 404 ja

401 --->active client / on-the-spot
402 --->active client / below-the-spot
403 --->passive client / on-the-spot
404 --->passive client / below-the-spot

5. Try to select one of the IM inculding Host IM from system menu according to the description above.
Then, you can see the phenomenon.


Comments
EVALUATION The only possible similar behavior that I could reproduce was when the client component was not given the input focus, i.e. by testing selecting input methods without clicking on the client component. This behavior is all the same along Kestrel, Ladybird, and Merlin, because no focused component is defined at that point. And the behavior was not observed if I click on the client component before testing. Now asking the submitter of the problem whether this is the case or not. naoto.sato@Eng 2000-11-29 The reason for this problem is because the showing of the pop up menu (which is done in a non-AWT_EVENT thread) is not synchronized with the focus change, so sometimes "currentInputContext" variable has null value. naoto.sato@Eng 2000-11-30 It turns out that a focus change should not happen by the pop up window showing/hiding, which means "currentInputContext" cannot be null by pop up menu action and the problem described here would not happen. This popup window focus problem on Solaris is already reported in 4214799, so I am closing this bug as a duplicate. naoto.sato@Eng 2000-12-06
06-12-2000