This is the fix for a copy-paste error. The fix JDK-8076313 replaced the usage of the "screens" array from the parent class to the "devices" where the list of devices is now maintained. Since "screens" array is never used nor initialized its usage caused an NPE. That check was copied as-is, while it should use the actual number of screen devices requested early in that method.
The bug is rarely reproduced because in single screen configuration the main screen is usually 0, and in the multiscreen configuration Xinerama is usually active so the main screen is also 0 => the second part of the "if" statement is not executed. I have validated the fix by the SwingSet, I also executed desktop tests in that config and found that even though this particular bug is fixed we still have many issues there, around ~100 tests failed. ------------- Commit messages: - JDK-8288854 Changes: https://git.openjdk.org/jdk19/pull/81/files Webrev: https://webrevs.openjdk.org/?repo=jdk19&pr=81&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8288854 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk19/pull/81.diff Fetch: git fetch https://git.openjdk.org/jdk19 pull/81/head:pull/81 PR: https://git.openjdk.org/jdk19/pull/81