<Swing Dev> Review Request for 7126823 : JInternalFrame.getNormalBounds() returns bad value after iconify/deiconify

Semyon Sadetsky semyon.sadetsky at oracle.com
Wed Feb 24 07:40:29 UTC 2016


Looks good to me.

--Semyon

On 2/24/2016 6:53 AM, Prem Balakrishnan wrote:
>
> Reminder!
>
> *From:*Prem Balakrishnan
> *Sent:* Thursday, February 18, 2016 4:40 PM
> *To:* Semyon Sadetsky; Rajeev Chamyal; Alexander Scherbatiy
> *Cc:* Sergey Bylokhov; Ambarish Rapte; swing-dev at openjdk.java.net
> *Subject:* RE: <Swing Dev> Review Request for 7126823 : 
> JInternalFrame.getNormalBounds() returns bad value after iconify/deiconify
>
>  Hi Semyon,
>
> Thanks for the review,
>
> Test Updated as per review points
>
> *Webrev:*http://cr.openjdk.java.net/~arapte/prem/7126823/webrev.03/ 
> <http://cr.openjdk.java.net/%7Earapte/prem/7126823/webrev.03/>
>
> Regards,
>
> Prem
>
> *From:*Semyon Sadetsky
> *Sent:* Thursday, February 18, 2016 2:33 PM
> *To:* Prem Balakrishnan; Rajeev Chamyal; Alexander Scherbatiy
> *Cc:* Sergey Bylokhov; Ambarish Rapte; swing-dev at openjdk.java.net 
> <mailto:swing-dev at openjdk.java.net>
> *Subject:* Re: <Swing Dev> Review Request for 7126823 : 
> JInternalFrame.getNormalBounds() returns bad value after iconify/deiconify
>
> Hi Prem,
>
> In the test
> getLocationOnScreen(),  getBounds() and getNormalBounds() should be 
> called on EDT for Swing components.
>
> --Semyon
>
> On 2/15/2016 11:51 AM, Prem Balakrishnan wrote:
>
>     Hi Rajeev,
>
>     Test updated as per your comments.
>
>     *Webrev:*http://cr.openjdk.java.net/~arapte/prem/7126823/webrev.02/ <http://cr.openjdk.java.net/%7Earapte/prem/7126823/webrev.02/>
>
>     Regards,
>     Prem
>
>     *From:*Rajeev Chamyal
>     *Sent:* Monday, February 15, 2016 12:00 PM
>     *To:* Prem Balakrishnan
>     *Cc:* Sergey Bylokhov; Semyon Sadetsky; Alexander Scherbatiy;
>     Ambarish Rapte; swing-dev at openjdk.java.net
>     <mailto:swing-dev at openjdk.java.net>
>     *Subject:* RE: <Swing Dev> Review Request for 7126823 :
>     JInternalFrame.getNormalBounds() returns bad value after
>     iconify/deiconify
>
>     Hello Prem,
>
>     1)UI should be created in a swing thread so please update the
>     createUI method to use a swing thread.
>
>     2)Also please use SwingUtilities.invokeAndWait instead of
>     SwingUtilities.invokeLater.
>
>     Regards,
>
>     Rajeev Chamyal
>
>     *From:* Prem Balakrishnan
>     *Sent:* 11 February 2016 12:49
>     *To:* Rajeev Chamyal
>     *Cc:* Sergey Bylokhov; Semyon Sadetsky; Alexander Scherbatiy;
>     Ambarish Rapte; swing-dev at openjdk.java.net
>     <mailto:swing-dev at openjdk.java.net>
>     *Subject:* RE: <Swing Dev> Review Request for 7126823 :
>     JInternalFrame.getNormalBounds() returns bad value after
>     iconify/deiconify
>
>     Hi Rajeev,
>
>     I have tested for all supported LAF’s across all
>     platforms(Windows, Linux and Mac)
>
>     Test updated for the same.
>
>     *Webrev:*
>     http://cr.openjdk.java.net/~arapte/prem/7126823/webrev.01/
>     <http://cr.openjdk.java.net/%7Earapte/prem/7126823/webrev.01/>
>
>     Regards,
>
>     Prem
>
>     *From:*Rajeev Chamyal
>     *Sent:* Wednesday, February 10, 2016 2:00 PM
>     *To:* Prem Balakrishnan
>     *Cc:* Sergey Bylokhov; Semyon Sadetsky; Alexander Scherbatiy;
>     Ambarish Rapte; swing-dev at openjdk.java.net
>     <mailto:swing-dev at openjdk.java.net>
>     *Subject:* RE: <Swing Dev> Review Request for 7126823 :
>     JInternalFrame.getNormalBounds() returns bad value after
>     iconify/deiconify
>
>     Hello Prem,
>
>     Did you test this fix for other LAF’s as well.
>
>     Regards,
>
>     Rajeev Chamyal
>
>     *From:* Prem Balakrishnan
>     *Sent:* 09 February 2016 14:40
>     *To:* Sergey Bylokhov; Semyon Sadetsky; Alexander Scherbatiy;
>     Ambarish Rapte; swing-dev at openjdk.java.net
>     <mailto:swing-dev at openjdk.java.net>; awt-dev at openjdk.java.net
>     <mailto:awt-dev at openjdk.java.net>
>     *Subject:* <Swing Dev> Review Request for 7126823 :
>     JInternalFrame.getNormalBounds() returns bad value after
>     iconify/deiconify
>
>     Hi*,*
>
>     Please review fix for JDK9,
>
>     *Bug: *https://bugs.openjdk.java.net/browse/JDK-7126823
>
>     *Webrev:*
>     http://cr.openjdk.java.net/~arapte/prem/7126823/webrev.00/
>     <http://cr.openjdk.java.net/%7Earapte/prem/7126823/webrev.00/>
>
>     *Issue:*
>
>     JInternalFrame.getNormalBounds() returns bad value after
>     iconify/deiconify
>
>     *Cause:*
>
>     Regression: due to 4424247: DefaultDesktopManager does not handle
>     InternalFrame state changes as expected.
>
>     https://bugs.openjdk.java.net/browse/JDK-4424247 related to
>     https://bugs.openjdk.java.net/browse/JDK-4900778
>
>     *Fix:*
>
>     DefaultDesktopManager.java
>
>     setNormalBounds(getBounds()); call removed from
>     iconifyFrame(JInternalFrame f) method.
>
>     *Justification:*
>
>     This fix is not breaking any of the previous fix i.e., related to
>     4424247 and 4900778.
>     (all previous scenarios are tested and validated with the current fix)
>
>     In JInternalFrame.java
>
>     getNormalBounds() returns getBounds() when normalBounds is NULL,
>
>     Hence no need to setNormaBounds externally.
>
>     public Rectangle getNormalBounds() {
>
>           /* we used to test (!isMaximum) here, but since this
>
>              method is used by the property listener for the
>
>              IS_MAXIMUM_PROPERTY, it ended up getting the wrong
>
>              answer... Since normalBounds get set to null when the
>
>              frame is restored, this should work better */
>
>           if (normalBounds != null) {
>
>               return normalBounds;
>
>           } else {
>
>             return getBounds();
>
>           }
>
>         }
>
>     As per Javadoc:
>     public Rectangle getNormalBounds()
>     If the JInternalFrame is not in maximized state, returns
>     getBounds(); otherwise, returns the bounds that the JInternalFrame
>     would be restored to.
>
>     In maximizeFrame() , normalBounds is set to a value which is not
>     NULL, i.e., setNormalBounds(getBounds());
>     In minimizeFrame(), normalBounds is set to NULL, i.e.,
>     setNormalBounds(null);
>     NormalBounds should NOT be set elsewhere.
>
>     *Test:*
>
>     Integrated test for current bug and regression.
>
>     Regards,
>     Prem
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20160224/e7df2281/attachment.html>


More information about the swing-dev mailing list