-
Bug
-
Resolution: Fixed
-
P2
-
7
-
None
-
b25
-
generic
-
windows
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2152004 | 6u10 | Oleg Sukhodolsky | P2 | Closed | Cannot Reproduce |
The fixes for 6458497 and 6506966 that went into the Windows port of awt_Component.cpp have broken focus transfers in the new out-of-process Java Plug-In. The basic problem is that the AWT EmbeddedFrame is placed into the component hierarchy of the browser, which is now a different process. When we attempt to transfer focus to the applet, the code in AwtComponent::AwtSetFocus() sees that the current focus owner's process ID is different from the Java process and blocks the focus transfer.
Discussion with ###@###.### and others indicates that to cover this case, as well as the case where the out-of-process applet opens a top-level frame, the following logic is needed. When an EmbeddedFrame (WEmbeddedFrame) is created, it should record the process ID of the HWND into which it is embedded. Future focus transfers should be permitted from that process ID to the one of the Java process.
Discussion with ###@###.### and others indicates that to cover this case, as well as the case where the out-of-process applet opens a top-level frame, the following logic is needed. When an EmbeddedFrame (WEmbeddedFrame) is created, it should record the process ID of the HWND into which it is embedded. Future focus transfers should be permitted from that process ID to the one of the Java process.
- backported by
-
JDK-2152004 Focus transfers broken for applications embedding AWT across processes
-
- Closed
-
- relates to
-
JDK-6506966 COMPATIBILITY: Can't use the keypad to simulate game actions
-
- Closed
-
-
JDK-6458497 Reopen #4841881: Alt tab with Windows L&F moves focus to the application menubar
-
- Closed
-
-
JDK-2142101 Reopen #4841881: Alt tab with Windows L&F moves focus to the application menubar
-
- Closed
-