Hi Sergey,

Thanks for the review.

On 7/4/2012 7:07 PM, Sergey Bylokhov wrote:
Why there are two different methods for isZoomed?

 481             final boolean isZoomed = *this.normalBounds == null*;

Here we determine a new state that needs to be set to an undecorated window. This is what isZoomed() will return after the zoom() method returns.

But in the method we use another code.

 471     private boolean isZoomed() {
 472         return zoomed || *this.normalBounds != null*;
 473     }

This is a method that returns the current zoomed state for any window regardless whether it is decorated or not.

Probably it can be unified?

No. These are completely different operations. We might change the first line to "final boolean isZoomed = !isZoomed();", but the current code looks a lot clearer to me.

--
best regards,
Anthony




04.07.2012 18:54, Anthony Petrov wrote:
Hello,

Please review a fix for http://bugs.sun.com/view_bug.do?bug_id=7177173 at:

http://cr.openjdk.java.net/~anthony/8-36-MaximizedBoth-7177173.1/

The bug synopsis may sound misleading: the original problem with applying the extended state after showing a frame has been resolved a while back with another fix. The only issue currently left is that the state is reset when a frame is disposed/hidden, which prevents apps from tracking the last known state of a window.

With this fix we avoid canceling/reapplying the maximized state to windows on each showing/hiding operation. Instead we track the state in the CPlatformWindow instance, and apply it on showing of the window if the state differs from what shared code expects. The behavior now matches that of Apple JDK (including handling of the ICONIFIED state).

--
best regards,
Anthony


--
Best regards, Sergey.

Reply via email to