JDK-6777320 : PIT : Canvas is not fully painted on the internal frame & internal frame goes behind the canvas
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 6u12
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2008-11-27
  • Updated: 2011-01-19
  • Resolved: 2008-12-19
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7
6u12 b03Fixed 7Fixed
Related Reports
Duplicate :  
Description
While doing bug verification for http://monaco.sfbay/detail.jsf?cr=6768332. I observed that when the frame is realised, the first internal which contains the AWT canvas is not painted fully atleast the portion where the red canvas covers the yellow canvas, & the internal frame goes behind the canvas when they are moved on top of another in default lookand feel i,e metal look & feel. This was working properly on 6u12 b01 promoted build & hence its a regression.  This issues can be seen in all lookand feel.  I have attached the screen shot of the same comparing both 6u12 b01 promoted build & 6u12 b02 pit build

Step to reproduced :-
---------------------
1) Run the attached testcase.
2) Move the red internal frame , away from the yellow internal frame. Observe the portion where the red internal frame covers the yellow internal frame is not painted i,e the canvas is not painted . If you see the same then the bug  is reproduced.

I tested this in 6u12 b02 pit build on windows xp sp3.

Comments
SUGGESTED FIX ------- Region.java ------- *** /tmp/sccs.gZJbU1 2008-12-04 21:06:21.000000000 +0300 --- Region.java 2008-12-04 21:06:13.000000000 +0300 *************** *** 1188,1194 **** return false; } if (r.lox != this.lox || r.loy != this.loy || ! r.hiy != this.hiy || r.hiy != this.hiy) { return false; } --- 1188,1194 ---- return false; } if (r.lox != this.lox || r.loy != this.loy || ! r.hix != this.hix || r.hiy != this.hiy) { return false; }
04-12-2008

EVALUATION The sun.java2d.pipe.Region class has a mistake in the "equals" implementation. As a result the HW/LW mixing code sets the current shape to null even when the new shape is different from the normal shape.
04-12-2008

EVALUATION The problem with the portion of the internal frame isn't reproducible anymore and now it's repainted correctly. But I still able to reproduce another painting problem - when I drag one internal frame over another, then a part of the bottom internal frame is displayed above the top internal frame (the part is the title area of the top internal frame). The problem might be related to 6778950.
03-12-2008