Reminder

 

From: Rajeev Chamyal 
Sent: Monday, February 15, 2016 2:42 PM
To: Prem Balakrishnan; Alexander Scherbatiy
Cc: Sergey Bylokhov; Semyon Sadetsky; Ambarish Rapte; swing-dev@openjdk.java.net
Subject: RE: <Swing Dev> Review Request for 7126823 : 
JInternalFrame.getNormalBounds() returns bad value after iconify/deiconify

 

Looks good to me.

 

Regards,

Rajeev Chamyal

 

From: Prem Balakrishnan 
Sent: 15 February 2016 14:22
To: Rajeev Chamyal; Alexander Scherbatiy
Cc: Sergey Bylokhov; Semyon Sadetsky; Ambarish Rapte; HYPERLINK 
"mailto:swing-dev@openjdk.java.net"swing-dev@openjdk.java.net
Subject: RE: <Swing Dev> Review Request for 7126823 : 
JInternalFrame.getNormalBounds() returns bad value after iconify/deiconify

 

Hi Rajeev,

Test updated as per your comments.

 

Webrev: http://cr.openjdk.java.net/~arapte/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; 
HYPERLINK "mailto:swing-dev@openjdk.java.net"swing-dev@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; 
HYPERLINK "mailto:swing-dev@openjdk.java.net"swing-dev@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/

 

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; 
HYPERLINK "mailto:swing-dev@openjdk.java.net"swing-dev@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; 
HYPERLINK "mailto:swing-dev@openjdk.java.net"swing-dev@openjdk.java.net; 
HYPERLINK "mailto:awt-...@openjdk.java.net"awt-...@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/

 

 

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

 

Reply via email to