Hi Sergey, Thank you for the review comment. I have changed the fix as per your comment. Please review the webvrev. http://cr.openjdk.java.net/~mhalder/8190767/webrev.01/ <http://cr.openjdk.java.net/~mhalder/8190767/webrev.01/>
The issue is not reproducible in jdk8. Regards, Manajit > > On 31-Jan-2018, at 2:40 AM, Sergey Bylokhov <sergey.bylok...@oracle.com> > wrote: > > Hi, Manajit. > Did you check that it works properly in jdk8? > > I guess we need to set "WINDOW_FULLSCREENABLE" after we show the window for > the first time, with one exception if the window is MAXIMIZED_BOTH. > > On 29/01/2018 04:39, Manajit Halder wrote: >> Hi All, >> Kindly review the fix for JDK10. >> Bug: >> https://bugs.openjdk.java.net/browse/JDK-8190767 >> Webrev: >> http://cr.openjdk.java.net/~mhalder/8190767/webrev.00/ >> Problem: >> In this problem two unrelated windows are created (first window and second >> window). If the second window is created when the first window is in >> fullscreen then the second window will automatically be created in >> fullscreen mode. This is the default behaviour with Cocoa windows. The >> second window receives windowWillEnterFullScreen notification when the first >> window is in fullscreen. windowWillEnterFullScreen notification is system >> generated notification and there is no way to prevent it. >> Above conclusion was made after debugging the issue to find out if there is >> any way to prevent the windowWillEnterFullScreen notification and also to >> find out if it generated due to some existing java (generic and native) code. >> I wrote a simple Mac OS X application with 2 windows and observed the same >> behaviour. The second window is created in fullscreen mode if it is created >> when the first window is in fullscreen. Whereas the second window is >> displayed normal if the first window is in normal mode (not in fullscreen >> mode). The only way found to prevent the second window going to fullscreen >> is don’t set this behaviour for the second window. >> Fix: >> The behaviour is normal on Mac OS. But if we want to prevent the second (all >> windows except the primary window) window to automatically created in >> fullscreen mode then the following fix can be applicable. >> By default all the Frames are set the WINDOW_FULLSCREENABLE property and by >> default all frames receives fullscreen event if the first frame is in >> fullscreen when it is created. Due to this setting the second frame which is >> created on button click goes to fullscreen on creation automatically. Mac OS >> fullscreen event notifications are received in case the first frame is in >> fullscreen and WINDOW_FULLSCREENABLE set for the second frame. >> Only the first frame should have the WINDOW_FULLSCREENABLE property set. The >> frames created in this case were ownerless windows as mentioned earlier. >> Therefore it is not possible to find out the owner of the current frame, it >> is null for all the frames created. Hence the fix is if the current frame is >> the first frame then set the property otherwise don’t set the property >> WINDOW_FULLSCREENABLE. >> Regards, >> Manajit > > > -- > Best regards, Sergey.