Hi Dmitry,

Thanks for your reply. Please see my reply inline.

Thanks,
Manajit


On 01/09/18 12:02 AM, Dmitry Markov wrote:
Hi Manajit,

The current implementation assumes that orderAboveSiblings() places the window in front of other windows located at the same level. The proposed fix introduces new behaviour: if the window does not have an owner and child windows it won’t be ordered, (i.e. in certain conditions the window may be obscured by other windows even after orderAboveSibling() execution). Most likely such approach will break existed functionality - some windows will be incorrectly placed behind other windows.
    If I am not wrong windows (other than Window.Type.POPUP) are already ordered in setVisible method at line no 632 while creation. While debugging I observed that orderFront is called twice when the window is displayed for the first time (in method setVisible and in method orderAboveSiblings). Now when Key press COMMAND + ` is pressed the current window receives windowDidBecomeMain notification and which calls orderFront and also COMMAND + ` tries to order the window above. Two time ordering the window when COMMAND + ` is pressed is causing problem in case of multiple windows.

I am sorry, but the relationship between the original problem described in the bug, (i.e. cycling through windows issue) and implementation of orderAboveSiblings() is NOT clear. Can you explain this?
    This issue is a regression of JDK-8169589 introduced in JDK release 8u131. 8169589 introduced new window ordering model and which has introduced the cycling through window issue.

Thanks,
Dmitry

On 31 Aug 2018, at 07:55, Manajit Halder <manajit.hal...@oracle.com <mailto:manajit.hal...@oracle.com>> wrote:

Hi All,

Please review the fix for JDK12.



Bug:
https://bugs.openjdk.java.net/browse/JDK-8206392

<https://bugs.openjdk.java.net/browse/JDK-8206392>
Webrev: 

http://cr.openjdk.java.net/~mhalder/8206392/webrev.00/ <http://cr.openjdk.java.net/%7Emhalder/8206392/webrev.00/>

Fix: 

    Window ordering is not required if the window doesn't own any other windows.

Regards,
Manajit


Reply via email to