RFR: 8343224: print/Dialog/PaperSizeError.java fails with MediaSizeName is not A4: A4

GennadiyKrivoshein duke at openjdk.org
Thu Nov 28 08:03:45 UTC 2024


Fix for https://bugs.openjdk.org/browse/JDK-8343224, print/Dialog/PaperSizeError.java fails with MediaSizeName is not A4: A4.

**Reason of the bug:**
The reason for the regression bug is a missed check for the standard media existence during CustomMediaSizeName creation.
After the JDK-7001133 new MediaSize is created, regardless of whether a standard media size exists. 

For example, if a printer's PPD has two media with the same size, close to "iso_A4," with a small difference.
         *PaperDimension A4/A4:             "595 842"
         *PaperDimension BrA4_B/A4 (Borderless):  "595 842"
After processing the first line, the MediaSize will contain the new size "A4" because of the missed check, and CustomMediaSize will match the "iso_a4" standard media size.
After processing the second line, the MediaSize will contain the new size "BrA4_B", and CustomMediaSize will match not the "iso_a4" but the previously added "A4", because it was added by mistake and its size is exactly the same as "BrA4_B".

**Fix description:**
Create new MediaSize if there is no any other MediaSize with the same size.

**Tests:**
OS: MacOS 12, Linux Ubuntu 22, Windows 11. 
open/test/jdk/java/awt/print/Dialog/PaperSizeError.java
test/jdk/javax/print/CustomMediaSizeNameOOMETest.java
All tests from the test/jdk/javax/print/

-------------

Commit messages:
 - Create MediaSize only if getStandardMedia is null

Changes: https://git.openjdk.org/jdk/pull/22429/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=22429&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8343224
  Stats: 8 lines in 1 file changed: 1 ins; 0 del; 7 mod
  Patch: https://git.openjdk.org/jdk/pull/22429.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22429/head:pull/22429

PR: https://git.openjdk.org/jdk/pull/22429


More information about the client-libs-dev mailing list