Hello,

Please review the following fix for a bug.

Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8007642
Webrev: http://cr.openjdk.java.net/~alitvinov/8007642/webrev.00

The bug consists in the fact that Java cross-platform Page Setup and Print dialogs do not always list all media sizes supported by a printer. The fix is based on addition of dynamic creation of new media names of the type "sun.print.Win32MediaSize" based on paper names received from Windows API function with corresponding media sizes of the type "javax.print.attribute.standard.MediaSize" for the case, when the printer's media size name, which is being analyzed in "sun.print.Win32PrintService.initMedia" method, is not added to the final list of media sizes supported by the printer because of an already existing duplicate in that list. In such a case the printer's paper size matches with one of the media sizes registered in JDK, while the paper size ID does not match with any ID known to JDK.

Also the code in "Win32PrintService.findWin32Media" method was altered to allow three cases from "switch" block to work as expected, because currently they never match with "dmIndex" value, since it is always less then "dmPaperToPrintService.length" under "if" statement.

Thank you,
Anton

Reply via email to