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

Reply via email to