Hi,
Please review a fix for CR 7124375: [macosx] Focus isn't transfered as expected 
between components. 
The main issue addressed by this fix is that information about current focused 
window and focus owner isn't shared among LWKeyboardFocusManagerPeer instances. 
Also, while the current KeyboardFocusManager code makes it look like each 
KeyboardFocusManager instance needs its own peer instance, the reality is 
different because both WKeyboardFocusManagerPeer and XKeyboardManagerPeer 
doesn't have non static fields. In other words, all the 
WKeyboardFocusManagerPeer/XKeyboardManagerPeer fields are static. Therefore, 
there is no need in in multiple peer instances, one singleton peer shared among 
all the KeyboardFocusManager instances is enough. This fix addresses that issue 
as well by explicitly turning KeyboardManagerPeer implementations into 
singletons for the sake of cleaner code.

Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7124375
Webrev: http://cr.openjdk.java.net/~leonidr/7124375/webrev.00/

Thanks,
Leonid.

Reply via email to