OpenJDK / bsd-port / jdk9 / jdk
changeset 7830:2722f4000b65
8023045: [MacOSX] PrinterIOException when printing a JComponent
Reviewed-by: bae, jchen
author | jgodinez |
---|---|
date | Thu, 15 Aug 2013 11:56:33 -0700 |
parents | e0f6039c0290 |
children | b44ce67c0565 |
files | src/share/classes/sun/print/PSPrinterJob.java |
diffstat | 1 files changed, 16 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/classes/sun/print/PSPrinterJob.java Tue Aug 13 10:42:37 2013 -0700 +++ b/src/share/classes/sun/print/PSPrinterJob.java Thu Aug 15 11:56:33 2013 -0700 @@ -339,6 +339,8 @@ */ private static Properties mFontProps = null; + private static boolean isMac; + /* Class static initialiser block */ static { //enable priviledges so initProps can access system properties, @@ -347,6 +349,8 @@ new java.security.PrivilegedAction() { public Object run() { mFontProps = initProps(); + String osName = System.getProperty("os.name"); + isMac = osName.startsWith("Mac"); return null; } }); @@ -473,6 +477,12 @@ PrintService pServ = getPrintService(); if (pServ != null) { mDestination = pServ.getName(); + if (isMac) { + PrintServiceAttributeSet psaSet = pServ.getAttributes() ; + if (psaSet != null) { + mDestination = psaSet.get(PrinterName.class).toString(); + } + } } } } @@ -771,6 +781,12 @@ PrintService pServ = getPrintService(); if (pServ != null) { mDestination = pServ.getName(); + if (isMac) { + PrintServiceAttributeSet psaSet = pServ.getAttributes(); + if (psaSet != null) { + mDestination = psaSet.get(PrinterName.class).toString() ; + } + } } PrinterSpooler spooler = new PrinterSpooler(); java.security.AccessController.doPrivileged(spooler);