[7u10] Review request for 6981400 Tabbing between textfield do not work properly when ALT+TAB (original) (raw)

Leonid Romanov leonid.romanov at oracle.com
Fri Sep 7 08:20:57 PDT 2012


Looks good.

On Sep 7, 2012, at 1:57 PM, "Anton V. Tarasov" <anton.tarasov at oracle.com> wrote:

Hi,

Please review a fix for the CR: http://bugs.sun.com/bugdatabase/viewbug.do?bugid=6981400 Webrev: http://cr.openjdk.java.net/~ant/6981400.7u10/webrev.0/ It's almost identical to the fix pushed to jdk8 recently. The only small difference is here: http://cr.openjdk.java.net/~ant/6981400.7u10/webrev.0/src/macosx/classes/sun/lwawt/LWWindowPeer.java.sdiff.html In the dispatchKeyEvent method, LWKeyboardFocusManagerPeer is retrieved by passing an AppContext instance. In jdk8 LWKeyboardFocusManagerPeer was refactored (CR 7124375). Below I'm quoting the description of the fix for jdk8: <<The fix covers a number of issues and is an evaluated version of the fix originally integrated into jdk6. The scenario which reproduces_ _the referred problems looks pretty like the following:_ _A frame with components. The first component is focused. In its focusLost(..) listener it performs some lengthy operation._ _TAB key is pressed, say, 5 times. The first component loses focus, the lengthy operation begins which freezes EDT for a while._ _At the same time, a user switches to some other window by Alt-TAB and then switches back by another Alt-TAB. When the lengthy_ _operation is done, the user expects focus to be transferred through the components in order as if no toplevel switch has happened._ _Alternatively, the toplevel switch could be done by a mouse click in a component of the other java toplevel and then by a click to the_ _title of the original frame._ _This may cause the following unexpected results:_ _1) Focus doesn't go through all the 5 components (which 5 TABs should result in) but stops on, say, the 3rd one._ _2) Components are being transferred in wrong order, say 2, 3, 2, 4, 5, 6 instead of 2, 3, 4, 5, 6._ _3) A menu of the original frame eventually gets activated (reproducible on MS Windows).>> More details can be found here: http://mail.openjdk.java.net/pipermail/awt-dev/2012-August/003421.html Thanks, Anton.



More information about the awt-dev mailing list