United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6928397 Alt-kana/rome on JApplet/IE7 makes IME/TextField unusable
JDK-6928397 : Alt-kana/rome on JApplet/IE7 makes IME/TextField unusable

Details
Type:
Bug
Submit Date:
2010-02-22
Status:
Closed
Updated Date:
2011-03-02
Project Name:
JDK
Resolved Date:
2010-08-13
Component:
deploy
OS:
windows_vista
Sub-Component:
plugin
CPU:
x86
Priority:
P2
Resolution:
Fixed
Affected Versions:
5.0u17
Fixed Versions:
5.0u17-crev (b04)

Related Reports
Backport:
Backport:
Relates:
Relates:

Sub Tasks

Description
Windows Vista, IE7 + 1.5.0_17

After starting a JApplet on IE7, moving focus to a JTextField, then enable IME.  When IME
is active, keyboard input mode can be changed between rome-character mode and kana-mode
by Alt-Kana/rome key on Japanese 106 keyboard (or screen keyboard utility).  On Vista,
this operation shows an Windows IME dialog which confirms whether user is really 
switching to the different keyboard input mode.  Select yes to change it.
 
If this was done several times while a JTextField has focus, IME/TextField becomes 
unusable.  Windows language-bar, which shows IME status disappears too.  It is shown
again while moving focus to other window on the screen.

Once this happens, if I type some keys after this problem, I see some IE7 dialog (as if the
key sequences are handled as a short-cut key) or orphaned IME dialog at the top-left
corner of the screen.  

The same operation does not show the symptom on XP.

So far, the problem does not happen with a stand-alone Swing program.
I don't see the issue with Firefox 3.5.3, Safari 4 and Chrome 4,  either.

The same symptom was seen on Vista+IE7+6u18 jre.
.

                                    

Comments
EVALUATION

The following fix was suggested by Dmitry Cherepanov:
http://spbweb.russia.sun.com/~dc158259/webrevs/6928397/webrev/index.html
It is based on 6u18, but a similar fix is going to be used in 5.0uXX releases.
                                     
2010-08-10
SUGGESTED FIX

Webrev: http://jpsesvr.sfbay.sun.com:8080/ctetools/html/ViewDetail.jsp?index=3670
RTI: https://jetsvr.sfbay.sun.com:8443/BugApproval/ViewDetail.jsp?index=9964
                                     
2010-08-12
EVALUATION

This fix caused the regression CR 6978742. There was another fix applied
on top of the initial fix. It solved CR 6928397, CR 6938377, and CR 6978742.
http://jpsesvr.sfbay.sun.com:8080/ctetools/html/ViewDetail.jsp?index=3822

All three issues are linked to ::SetFocus(NULL) call in awt_Frame.cpp.
The previous fix for CR 6928397 removed that call but it caused a regression
CR 6978742. To fix both these issues, ::SetFocus(NULL) call was restored, and
another fix was introduced in awt_Component.cpp. But, in turn, it caused
the symptomes of CR 6938377. This problem was fixed by introducing a new
condition around ::SetFocus(NULL) call which excluded a set of situations
when the call is not desired.
                                     
2010-11-09



Hardware and Software, Engineered to Work Together