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

Reply via email to