On 01 Sep 2016, at 14:31, Sergey Bylokhov <sergey.bylok...@oracle.com> wrote: > > On 01.09.16 12:51, Anton Tarasov wrote: >> On 31 Aug 2016, at 21:04, Sergey Bylokhov <sergey.bylok...@oracle.com> wrote: >>> >>> On 30.08.16 18:18, Anton Tarasov wrote: >>>>>> As I wrote in JIRA, the problem is caused by the fact that a native >>>>>> window (for a modal dialog) is shown before the peer starts to show. >>>>>> (This seems strange, and you can investigate the reason, I’m not aware) >>>>> Maybe because NSWindow.orderFrontRegardless() is called? Why it is >>>>> called on that moment and why the "Regardless" version is used? >>>> >>>> Well, I suggest a one-line fix, harmless from my point of view. And I'm >>>> pointing to a problematic spot alongside. I'd love to know why modal >>>> dialogs are shown that way, but I'm afraid there was a hidden reason. >>> >>> I wonder how do you use this dialogs, because it is not possible to dispose >>> or make them invisible. For example all tests should dispose all windows >>> which were created in the test, and it seems impossible in the provided >>> code, right(tested on latest jdk9)? >> >> What do you mean? Ok, I simply tried to dispose it, it disappeared (well, I >> didn’t debug to check if it was disposed properly, but visually I see no >> problem). So, please clarify. > > I just check on the latest jdk9 and jdk8u101, I add these lines to the test: > f.setVisible(true); > d.setVisible(true); > + f.dispose(); > + d.dispose(); > > but both frames are still visible. This is why I wonder, how did you close it > in the app.
You probably missed the fact the dialog is modal. Anton. > >> >> Why do I have to dispose all windows in a reg test? >> >> Of course I tested it, on jdk9 of a version matching the date of submitting >> the fix. >> >> Regards, >> Anton. >> >>> >>>>> --Semyon >>>>>> The problem is thus specific to OSX. >>>>>> >>>>>> Regards, >>>>>> Anton. >>>>>> >>>>>>> On 29 Aug 2016, at 19:30, Semyon Sadetsky >>>>>>> <semyon.sadet...@oracle.com> wrote: >>>>>>> >>>>>>> Hi Anton, >>>>>>> >>>>>>> is it really OS X only problem? It seems on other platforms the peer >>>>>>> focusability is updated in the same way. >>>>>>> >>>>>>> --Semyon >>>>>>> >>>>>>> >>>>>>> On 6/29/2016 9:04 PM, Anton Tarasov wrote: >>>>>>>> Hello, >>>>>>>> >>>>>>>> Please review the fix: >>>>>>>> >>>>>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8160570 >>>>>>>> webrev: http://cr.openjdk.java.net/~ant/JDK-8160570/webrev.0 >>>>>>>> <http://cr.openjdk.java.net/%7Eant/JDK-8160570/webrev.0> >>>>>>>> >>>>>>>> The problem is that a modal dialog can skip the activation/focus >>>>>>>> events on OSX. >>>>>>>> The fix is to cache the focusability state of the Window peer >>>>>>>> earlier, in its ctor. >>>>>>>> Please find more details in JIRA. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Anton. >>>>> >>>> >>> >>> >>> -- >>> Best regards, Sergey. >> > > > -- > Best regards, Sergey.