[OpenJDK 2D-Dev] [9] RFR JDK-8040635: [macosx] Printing a shape filled with a texture doesn't work under Mac OS X

Prasanta Sadhukhan prasanta.sadhukhan at oracle.com
Thu Oct 27 08:07:54 UTC 2016

Modified webrev after removal of @requires from testcase


On 10/20/2016 1:40 PM, Prasanta Sadhukhan wrote:
> Hi All,
> Please review a fix for osx printing where it is seen that 
> TexturePaint pattern is not getting printed.
> Bug: https://bugs.openjdk.java.net/browse/JDK-8040635
> webrev: http://cr.openjdk.java.net/~psadhukhan/8040635/webrev.00/
> The issue was because TexturePaint Evaluate function in native 
> QuartzSurfaceData.m uses LockImage() function to access texture 
> buffered image.
> In LockImage(), it accesses image data by checking 
> javaImageInfo[sun_java2d_OSXOffScreenSurfaceData_kImageStolenIndex] and
> javaImageInfo[sun_java2d_OSXOffScreenSurfaceData_kNeedToSyncFromJavaPixelsIndex] 
> and this variable "kImageStolenIndex" and 
> "kNeedToSyncFromJavaPixelsIndex" are set in OSXOffScreenSurfaceData
> but OSXSurfaceData uses BufImgSurfaceData.createData which does not 
> set this variables
> resulting in crash when it tries to access data buffer with wrong 
> unset index.
> Proposed fix is to use OSXOffscreenSurfaceData where the variables, 
> accessed by native,  are set properly.
> Regards
> Prasanta

More information about the 2d-dev mailing list