Looks fine.
>
> Hi Sergey,
> Thank you for the review.
>
> Actually deliverMoveResizeEvent() is always called once a window is
> displayed. If the window is created using max W/H of the screen, the function
> will be invoked and isZoomed field will contain the correct value. I have
> just checked that.
>
> Thanks,
> Dmitry
>> On 23 Mar 2017, at 16:36, Sergey Bylokhov <sergey.bylok...@oracle.com> wrote:
>>
>> Hi, Dmitry.
>> Can you please check that the fix does not break the situation when the
>> frame is created using max W/H of the screen. In this case the old zoom
>> logic return true, is it possible that the new logic will return false since
>> deliverMoveResizeEvent
>> will not be called?
>>
>>>
>>>
>>> Hello,
>>>
>>> Could you review a fix for jdk9, please?
>>>
>>> bug: https://bugs.openjdk.java.net/browse/JDK-8176490
>>> webrev: http://cr.openjdk.java.net/~dmarkov/8176490/webrev.00/
>>>
>>> Problem description:
>>> On OSX AppKit thread and EDT or main application thread might be blocked
>>> when a child window is displayed and its parent is hidden at the same time.
>>> AppKit thread performs windows ordering caused by displaying of the child
>>> window. It retrieves child windows for the parent window and tries to
>>> acquire the monitor inside Window.getOwnedWindows_NoClientCode(). However
>>> the monitor is already owned by EDT/main application thread which executes
>>> setVisible(false) on the parent window. That thread hangs on invocation of
>>> CWrapper.NSWindow.isZoomed() since the function must be executed on AppKit
>>> thread.
>>>
>>> Fix:
>>> Add a new field isZoomed to CPlatformWindow class. The field will contain
>>> information about current zoom state for the window. The method
>>> deliverMoveResizeEvent() will update the new field using data from the
>>> platform. The invocations of CWrapper.NSWindow.isZoomed() in
>>> CPlatformWindow should be replaced with isZoomed field.
>>>
>>> Note: I ran JCK tests on the build with fix and did not observe any new
>>> problems.
>>>
>>> Thanks,
>>> Dmitry
>>
>