JDK-6797195 : Forward-port enhancements for hw/lw mixing from 6u12 to 7
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2009-01-23
  • Updated: 2011-03-07
  • Resolved: 2011-03-07
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.
7 b48Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
The HW/LW Mixing feature has been integrated into 6u12. Along with the fixes that were already present in JDK 7, there was a number of enhancements. These need to be forward-ported to JDK7. The list of additional fixes:

6637655 Mixing of heavyweight/lightweight components does not wrk with GlassPane? childre 
6768332 PIT : Internal frame can be seen below the Canvas 
6769511 PIT : AWT components are invisible for a while after frame is moved & menu items are visible 

6768230 HW/LW mixing code slows down resize performance 
6777320 PIT : Canvas is not fully painted on the internal frame & internal frame goes behind the canvas 
6777370 PIT : AWT components are not rendered correctly after resizing the JFrame. 

6776743 Lightweight components must be counted as opaque rectangles for the purposes of hw/lw mixing 
6779670 Recursive procedures in the HW/LW Mixing code must traverse parent containers 
6788954 Need to introduce sun.awt.disableMixing system property
6797587 Need better control over shapes cut out by hw/lw mixing
6789096 HW/LW Mixing: 2% regression in 6u12 b01, alacrity SwingMark benchmark

EVALUATION The fix also slightly modifies the setRectangularShape() functions/methods at the ComponentPeer implementations (of WToolkit and XToolkit) to allow passing null as a shape to the peer's applyShape() method. This is actually a tiny part of the Shaped Windows feature (covered by 6633275).

EVALUATION This is an umbrella CR for fixes listed in the Description.