# HG changeset patch # User prr # Date 1405361473 25200 # Node ID 86b8de4f7d092bc5bf0c1e40451aa7a6f17b26c5 # Parent 998b49cac7e90b78e86e7baf95c40e1a54efcccc 8048583: CustomMediaSizeName class matching to standard media is too loose Reviewed-by: bae, jgodinez diff -r 998b49cac7e9 -r 86b8de4f7d09 jdk/src/share/classes/sun/print/CustomMediaSizeName.java --- a/jdk/src/share/classes/sun/print/CustomMediaSizeName.java Mon Jul 14 10:29:23 2014 -0700 +++ b/jdk/src/share/classes/sun/print/CustomMediaSizeName.java Mon Jul 14 11:11:13 2014 -0700 @@ -67,6 +67,22 @@ MediaSize.INCH); } catch (IllegalArgumentException iae) { } + // The public API method finds a closest match even if it not + // all that close. Here we want to be sure its *really* close. + if (mediaName != null) { + MediaSize sz = MediaSize.getMediaSizeForName(mediaName); + if (sz == null) { + mediaName = null; + } else { + float w = sz.getX(MediaSize.INCH); + float h = sz.getY(MediaSize.INCH); + float dw = Math.abs(w - width); + float dh = Math.abs(h - length); + if (dw > 0.1 || dh > 0.1) { + mediaName = null; + } + } + } } /**