JDK-6542419 : SharedMemoryPixmapsTest.sh failed on 5.0u12b02 but passed on previous one
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 5.0u12
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_nevada,windows_xp
  • CPU: x86,sparc
  • Submitted: 2007-04-04
  • Updated: 2011-01-19
  • Resolved: 2009-12-08
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.
Other
5.0u12 b03Fixed
Related Reports
Relates :  
Description
see comments

Comments
EVALUATION I have verified that this change fixes the regression.
04-04-2007

SUGGESTED FIX ------- VolatileSurfaceManager.java ------- 180,184d179 < } else if (sdAccel != null) { < // if the "acceleration enabled" state changed to disabled, < // switch to software surface < sdCurrent = getBackupSurface(); < sdAccel = null; 185a181,186 > } else if (sdAccel != null) { > // if the "acceleration enabled" state changed to disabled, > // switch to software surface > sdCurrent = getBackupSurface(); > sdAccel = null; > } 187,193c188,194 < if ((returnCode != VolatileImage.IMAGE_INCOMPATIBLE) && < (sdCurrent != sdPrevious)) < { < // contents have changed - return RESTORED to user < sdPrevious = sdCurrent; < returnCode = VolatileImage.IMAGE_RESTORED; < } --- > if ((returnCode != VolatileImage.IMAGE_INCOMPATIBLE) && > (sdCurrent != sdPrevious)) > { > // contents have changed - return RESTORED to user > sdPrevious = sdCurrent; > returnCode = VolatileImage.IMAGE_RESTORED; > } 195,199c196,199 < if (returnCode == VolatileImage.IMAGE_RESTORED) { < // clear the current surface with the background color, < // only if the surface has been restored < initContents(); < } --- > if (returnCode == VolatileImage.IMAGE_RESTORED) { > // clear the current surface with the background color, > // only if the surface has been restored > initContents();
04-04-2007

EVALUATION This is a regression introduced by the fix for 6353972 REGRESSION: GUI fails to paint text with large heap size setting http://jpsesvr.sfbay.sun.com:8080/ctetools/html/ViewDetail.jsp?index=2088 The problem is that the change in VolatileSurfaceManager.java was not backported correctly, and unfortunately the reviewer (me) missed it. This change: 180 } else if (sdAccel != null) { 181 // if the "acceleration enabled" state changed to disabled, 182 // switch to software surface 183 sdCurrent = getBackupSurface(); 184 sdAccel = null; 185 } was applied to the wrong 'if ()'. It should have been an "else" to the 'if (isAccelerationEnabled())' if. See jdk6 source code for the proper fix. I have put the corrected diffs relative to 5.0u12b02 source to the suggested fix field, also attached. This has to be fixed before 5.0u12 goes out.
04-04-2007