On Mon, 23 Feb 2026 21:27:39 GMT, Phil Race <[email protected]> wrote:

>> After [JDK-8373239](https://bugs.openjdk.org/browse/JDK-8373239):, Printing 
>> ALL pages results in NPE for 1.1 PrintJob because of lack of set pageranges 
>> citing
>> 
>> Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException: 
>> Cannot invoke "javax.print.attribute.standard.PageRanges.getMembers()" 
>> because "range" is null
>>         at 
>> java.desktop/sun.print.PrintJobDelegate.updateAttributes(PrintJobDelegate.java:529)
>>         at 
>> java.desktop/sun.print.PrintJobDelegate.printDialog(PrintJobDelegate.java:424)
>>         at java.desktop/sun.print.PrintJob2D.printDialog(PrintJob2D.java:65)
>>         at 
>> java.desktop/sun.awt.windows.WToolkit.getPrintJob(WToolkit.java:644)
>>         at 
>> java.desktop/sun.awt.windows.WToolkit.getPrintJob(WToolkit.java:629) 
>> 
>> A null check is now added as we are now removing PageRange attribute if not 
>> set..It works fine for PrinterJob but fails for 1.1 PrintJob as 
>> PrintJobDelegate.updateAttributes called in 1.1 PrintJob use pageRange 
>> variable without checking if it exists.
>
> src/java.desktop/share/classes/sun/print/PrintJobDelegate.java line 529:
> 
>> 527: 
>> 528:         PageRanges range = (PageRanges)attributes.get(PageRanges.class);
>> 529:         if (range != null) {
> 
> I wonder if this is right ?
> Surely if the PageRanges is not there any more, we should update the 
> JobAttributes to a default range ?
> This would leave whatever stale value is present.

I looked at the code review #29312 for 
[JDK-8373239](https://bugs.openjdk.org/browse/JDK-8373239)… and wondered 
whether that code should rather ensure `PageRanges.class` attribute is present 
instead of removing it and the range to the default value.

https://github.com/openjdk/jdk/blob/6b576235b84f51e273da44158bfcadbb48f51baa/src/java.desktop/windows/classes/sun/awt/windows/WPrinterJob.java#L1737-L1739

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/29874#discussion_r2843246703

Reply via email to