I have a frame which contains some buttons, clicking on each button will invoke different kinds of modal dialogs like filedialog , page dialog , print dialog & java dialog.
When any one of the modal dialog is visible, it is suppose to block the parent which include moving the parent , minimize & maximize. but on windows vista home premium os the parent can be minimized & can be maximized which intend triggers WindowEvent in WindowStateChanged(). When the parent is maximized & brought back to normal state the parent is above the modal dialog & we can perform all the operation to the modal dialog even when the parent is above the dialog. for example i can type in the textfield of the dialog, or select folder or navigate in the filedialog . which is incorrect. This works fine in jdk1.6.0 & their update releases. It even works fine in jdk1.7 b01 , but fails from jdk1.7 b02 onwards till b15 pit build. Hence this is a regression.
Step to reproduce:-
------------------
1) Run the attached program.
2) select any button. for example : "Open FileDialog".
3) Click on the parent. the file dialog flickers , which is correct.
4) Click on parent title & drag the frame some where on the screen. If frame is moved then the bug is reproduce.
5) click on the minimize button on the frame. If frame ( parent) gets minimized then the bug is reproduced. Check on the console events are triggered describing the state of the parent.
6) Get the minimized frame to normal state , by clicking on the minimized frame on the taskbar. this will trigger the events.
7) Click on the maximized button of the frame. now the frame gets maximized ,by triggering the window event. Now get the frame to normal state. Observe that parent is on the modal dialog. Now you can select any file or folder & you can able to navigate.