United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6954221 With multiple modal JDialogs, closing one make IE window active
6954221 : With multiple modal JDialogs, closing one make IE window active

Details
Type:
Bug
Submit Date:
2010-05-20
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-crev
Fixed Versions:
5.0u17-crev

Related Reports
Backport:
Relates:

Sub Tasks

Description
Vista, IE7 + 1.5.0_17 

When multiple modal JDialogs are shown, closing one would make IE a active window.
JDialogs uses same Applet's embedded frame as owner/parent.  This behavior confuses
user.

If I run it with 6u18, IE becomes active for short period of time, but remaining JDialog 
will become active soon.

                                    

Comments
SUGGESTED FIX

These are joint requests for CR 6954221 and CR 6968959.
Webrev: http://jpsesvr.sfbay.sun.com:8080/ctetools/html/ViewDetail.jsp?index=3668
RTI: https://jetsvr.sfbay.sun.com:8443/BugApproval/ViewDetail.jsp?index=9965
                                     
2010-08-12
EVALUATION

The fix introduces a concept of the active windows list which is used to find
the window to be activated next (similarly to what is done in JDK 6). This list
is a list of windows sorted by the time of activation: later a window is
activated, greater its index is in the list. The list is stored as a property
in sun.awt.AppContext and is kept up to date by the KeyboardFocusManager
"activeWindow" and AppContext GUI_DISPOSED property change listeners.
AwtDialog::ModalNextWindowToFront() uses this list to activate a proper window
on closing of a modal dialog.
                                     
2010-08-04



Hardware and Software, Engineered to Work Together