[8] Review request for CR 7124375: [macosx] Focus isn't transfered as expected between components (original) (raw)
Sergey Bylokhov Sergey.Bylokhov at oracle.com
Tue Aug 21 02:27:39 PDT 2012
- Previous message: [8] Review request for CR 7124375: [macosx] Focus isn't transfered as expected between components
- Next message: [8] Review request for CR 7124375: [macosx] Focus isn't transfered as expected between components
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Thanks. Fix looks good. 20.08.2012 15:40, Leonid Romanov wrote:
Hi, - One have lwkfm per appcontex is the cause of this CR. I believe it is not necessary. However, after my fix has been pushed in 8, I'll ask Yuri to run all the focus tests, including deployment tests to make sure that nothing has been broken. - Thanks, I'll change javadoc - On Windows, thread-safety is ensured in the native code (unlike X and OS X, Windows implementation stores current focused window/focus owner in the native)
-----Original Message----- From: Sergey Bylokhov [mailto:Sergey.Bylokhov at oracle.com] Sent: Monday, August 20, 2012 2:29 PM To: Leonid Romanov Cc: awt-dev at openjdk.java.net; macosx-port-dev-request at openjdk.java.net Subject: Re: [8] Review request for CR 7124375: [macosx] Focus isn't transfered as expected between components A few question - Is it ok that previously we have lwkfm per appcontext but not now? - javadoc for KeyboardFocusManagerPeerProvider.getKeyboardFocusManagerPeer() is not accurate - synchronisation model was changed for LW and X kfmp from internal object to synchronisation on this, but on windows there is no synchronisation this is expected? 17.08.2012 21:59, Leonid Romanov wrote: 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/viewbug.do?bugid=7124375 Webrev: http://cr.openjdk.java.net/~leonidr/7124375/webrev.00/
Thanks, Leonid.
-- Best regards, Sergey.
- Previous message: [8] Review request for CR 7124375: [macosx] Focus isn't transfered as expected between components
- Next message: [8] Review request for CR 7124375: [macosx] Focus isn't transfered as expected between components
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]