RFR: 8311033: [macos] PrinterJob does not take into account Sides attribute [v3]
Sergey Bylokhov
serb at openjdk.org
Thu Jul 20 01:32:52 UTC 2023
On Fri, 14 Jul 2023 14:44:57 GMT, Alexander Scherbatiy <alexsch at openjdk.org> wrote:
>> To reproduce the issue run the [JavaSidesAttributePrinting](https://bugs.openjdk.org/secure/attachment/104448/JavaSidesAttributePrinting.java) java sample with ONE_SIDED and DUPLEX arguments on macOS:
>>
>> java JavaSidesAttributePrinting ONE_SIDED
>> java JavaSidesAttributePrinting DUPLEX
>>
>>
>> The sample calls PrinterJob print method with the given sides attribute.
>> The pages are printed according to the printer default settings not according to the provided Sides attributes.
>>
>> The fix propagates Sides attribute
>> - from `PrinterJob` to `NSPrintInfo` in `CPrinterJob.javaPrinterJobToNSPrintInfo` method
>> - from `NSPrintInfo` to `PrinterJob` in `CPrinterJob.nsPrintInfoToJavaPrinterJob` method
>
> Alexander Scherbatiy has updated the pull request incrementally with one additional commit since the last revision:
>
> Local supportedSides variable is used insted of supportedSides field
src/java.desktop/macosx/native/libawt_lwawt/awt/CPrinterJob.m line 531:
> 529: }
> 530:
> 531: int sides = (*env)->CallIntMethod(env, srcPrinterJob, jm_getSides);
it seems the code around uses the "java" types like jint.
>jint copies = (*env)->CallIntMethod(env, srcPrinterJob, jm_getCopies);
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14727#discussion_r1268835976
More information about the client-libs-dev
mailing list