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

Phil Race philip.race at oracle.com
Thu Oct 27 16:44:02 UTC 2016


+1

-phil.

On 10/27/2016 01:07 AM, Prasanta Sadhukhan wrote:
> Modified webrev after removal of @requires from testcase
>
> http://cr.openjdk.java.net/~psadhukhan/8040635/webrev.01/
>
> Regards
> Prasanta
> 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