[OpenJDK 2D-Dev] [10] Review request for 8181659: Create an alternative fix for JDK-8167102, whose fix was backed out
Anton Litvinov
anton.litvinov at oracle.com
Tue Nov 28 15:39:35 UTC 2017
Hello Phil,
Thank you very much for review and approval of this fix.
Thank you,
Anton
On 27/11/2017 23:13, Phil Race wrote:
> Hi,
>
> getPageFormatFromAttributes(..) was added to fix some mac specific
> issues :
> https://bugs.openjdk.java.net/browse/JDK-8025988
> https://bugs.openjdk.java.net/browse/JDK-8025990 which is why it is
> used only on mac, so I think it is OK to assume it can be modified to
> fix a further Mac bug. So this seems OK. -phil.
>
>
> On 11/23/2017 08:54 AM, Anton Litvinov wrote:
>> Hello Prasanta and Phil,
>>
>> Could you please review the following fix for the bug consisting in
>> creation of the alternative version of the fix for
>> (https://bugs.openjdk.java.net/browse/JDK-8167102). I am writing to
>> you directly, because you reviewed my first fix for this bug, which
>> then caused the bug
>> (https://bugs.openjdk.java.net/browse/JDK-8181192) and was backed out
>> by the fix for JDK-8181192.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8181659
>> Webrev: http://cr.openjdk.java.net/~alitvinov/8181659/jdk10/webrev.00
>>
>> This fix is actually the first version of the fix for JDK-8167102
>> with insignificant changes:
>> - edited comment text;
>> - 1 redundant check on equality to "null" is removed;
>> - exclusion of the regression test
>> "test/jdk/java/awt/print/PageFormat/WrongPaperPrintingTest.java"
>> developed for JDK-8167102 is cancelled by removal of "@ignore" tag
>> from the test.
>>
>> ADVANTAGES OF THE FIX:
>>
>> 1) The fix is completely OS X specific, because the edited method
>> "sun.print.RasterPrinterJob.getPageFormatFromAttributes()" is invoked
>> only from the OS X native code in file
>> "src/java.desktop/macosx/native/libawt_lwawt/awt/CPrinterJob.m".
>>
>> 2) Corrects the behavior of
>> "RasterPrinterJob.getPageFormatFromAttributes" method to return a new
>> "PageFormat" based on corresponding values of the existing
>> "PageFormat" set by the user through
>> "java.awt.print.PrinterJob.setPrintable(Printable, PageFormat)", if
>> the user does not supply "OrientationRequested", "MediaSizeName",
>> "MediaPrintableArea" attributes during the call to
>> "PrinterJob.print(PrintRequestAttributeSet)".
>>
>> 3) Eliminates the possibility of being blocked during the call
>> "Pageable.getPageFormat(int)", like it was with the previous version
>> of the fix, because now the fix calls "getPageFormat(int)" only for
>> "Pageable" of type "sun.print.OpenBook", which is used by JDK
>> especially, when "PageFormat" is the same for all pages of the
>> document, when the user calls "PrinterJob.setPrintable(Printable,
>> PageFormat)".
>>
>> I verified that this fix resolves the original bug JDK-8167102 and
>> does not cause the regression JDK-8181192.
>>
>> Thank you,
>> Anton
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20171128/7731150d/attachment.html>
More information about the 2d-dev
mailing list