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

Jayathirth D V jayathirth.d.v at oracle.com
Fri Nov 4 11:48:10 UTC 2016


Hello Prasanta,

Changes are working fine.
FYI changes related to QuartzSurfaceData.m are already checked in under JDK-8162796.

Thanks,
Jay

-----Original Message-----
From: Phil Race 
Sent: Thursday, October 27, 2016 10:14 PM
To: Prasanta Sadhukhan; 2d-dev
Subject: Re: [OpenJDK 2D-Dev] [9] RFR JDK-8040635: [macosx] Printing a shape filled with a texture doesn't work under Mac OS X

+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_kNeedToSyncFromJavaP
>> ixelsIndex]
>>
>>
>> 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