Hi All,
Please review a fix for jdk9.
Bug: https://bugs.openjdk.java.net/browse/JDK-8039412
webrev: http://cr.openjdk.java.net/~psadhukhan/8039412/webrev.00/
Issue was seen in linux whereby if we call PrinterJob.pageDialog() after
PrinterJob.printDialog() it results in StackOverflowError if
DialogSelectionType is NATIVE.
This was because pageDialog(attributes) was calling
pageDialog(pageformat) if it is DialogTypeSelection.NATIVE which again
calls pageDialog(attributes)
via this code
http://hg.openjdk.java.net/jdk9/client/jdk/file/298d3fe64572/src/java.desktop/share/classes/sun/print/RasterPrinterJob.java#l767
and
http://hg.openjdk.java.net/jdk9/client/jdk/file/298d3fe64572/src/java.desktop/share/classes/sun/print/RasterPrinterJob.java#l743
I added a fix whereby in pageDialog(attributes)we check if it is
DialogTypeSelection.NATIVE and remove this attribute temporarily before
calling pageDialog(pageformat)
and restore the DialogTypeSelection.NATIVE after the call.
It is similar to solution done in
http://hg.openjdk.java.net/jdk9/client/jdk/file/298d3fe64572/src/java.desktop/share/classes/sun/print/PSPrinterJob.java#l443
Regards
Prasanta