JDK-7142091 : [macosx] RFE: Refactoring of peer initialization/disposing
  • Type: Enhancement
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 7u6
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: os_x
  • CPU: x86
  • Submitted: 2012-02-02
  • Updated: 2013-09-09
  • Resolved: 2012-07-27
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 7 JDK 8
7u6Fixed 8 b47Fixed
Related Reports
Relates :  
Description
There is a problem in the initialization/disposing of the peers.
1. setVisible() should be called at the end of the peers initialization. We can move super.initialize() to the end of the peers initializations.
2. Invokelater in the initialization/disposing is a tricky.
3. replaceSurfacedata() should be moved outside of LWWindowPeer.setVisible()
4. Backbuffer in replaceSurfacedata() should be initialized by clearRect instead of fillrect(composite is important).
5. During lwwindowpeer initialization we call two similar methods nativeSetNSWindowAlpha() and setAlphaValue().

Comments
EVALUATION http://hg.openjdk.java.net/hsx/hotspot-comp/jdk/rev/7d1eae258183
14-08-2012

EVALUATION All points from the description were complete.
26-06-2012

SUGGESTED FIX http://cr.openjdk.java.net/~serb/7142091/webrev.01/
31-05-2012