Hi Phil,

Please review a simple fix for jdk9.
Bug: https://bugs.openjdk.java.net/browse/JDK-7107620
webrev: http://cr.openjdk.java.net/~psadhukhan/7107620/webrev.00/

It was seen width/height obtained by calculating via MediaSize/units is not same as obtained from Paper.getWIdth/getHeight(). It seems the testcase is storing the result of the calculations in "int" varible whereas MediaSize.getX()/getY() is "float" and units is "double" variable thereby resulting is loss of precision.

It was only seen in osx as osx returns a integer value for getWidth()/getHeight() ie 842 instead of ~841.889 maybe because it rounds off to nearest whereas MediaSize/units value is stored as 841 when typecasted to int
resulting in failure.
Modified testcase to store in "double" to avoid loss of precision and use Math.round() to round off to nearest value before comparing these 2 values (from MediaSize/units and getWidth/getHeight).

Tested in windows, linux, mac to be working.

Regards
Prasanta

Reply via email to