Details
-
Bug
-
Resolution: Fixed
-
P4
-
11.0.22, 11.0.22-oracle, 17.0.10, 17.0.10-oracle, 21.0.2, 22
-
b04
-
b04
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8324224 | 22.0.1 | Rajat Mahajan | P4 | Resolved | Fixed | b02 |
JDK-8325988 | 21.0.4-oracle | Rajat Mahajan | P4 | Resolved | Fixed | b01 |
JDK-8326695 | 21.0.3 | Sergey Bylokhov | P4 | Resolved | Fixed | b05 |
JDK-8325989 | 17.0.12-oracle | Rajat Mahajan | P4 | Resolved | Fixed | b01 |
JDK-8332389 | 17.0.11.0.1-oracle | Alexey Ivanov | P4 | Closed | Fixed | b01 |
JDK-8326696 | 17.0.11 | Sergey Bylokhov | P4 | Resolved | Fixed | b05 |
JDK-8326427 | 11.0.24-oracle | Rajat Mahajan | P4 | Resolved | Fixed | b01 |
JDK-8326697 | 11.0.23 | Sergey Bylokhov | P4 | Resolved | Fixed | b05 |
Description
https://learn.microsoft.com/en-us/windows/win32/api/uxtheme/nf-uxtheme-openthemedatafordpi
which was introduced only in Windows 10 1703.
So the theming engine won't load on anything earlier like the original windows 10 or windows 8.1 etc.
So as an undocumented side-effect it completely breaks the theming of Windows L&F on anything earlier
and it falls back to hard-coded rendering like Windows NT/Windows 2000
Whilst those older versions are technically out of at least "mainstream" support, this is not the way
to make that breaking change and I see this fix has been backported to older releases which expect stability
it seems to me that this code should NOT fail if the new API is missing and instead fall back to the old code.
No one will care about a pixel being off on hi-dpi if the entire UI is wrong.
To reproduce the bug, start SwingSet2, then under the “Look & Feel” menu click “Windows Style Look & Feel”. Any other Swing application in Windows Look & Feel can be used to reproduce the bug.
Attachments
Issue Links
- backported by
-
JDK-8324224 JDK-8294427 breaks Windows L&F on all older Windows versions
- Resolved
-
JDK-8325988 JDK-8294427 breaks Windows L&F on all older Windows versions
- Resolved
-
JDK-8325989 JDK-8294427 breaks Windows L&F on all older Windows versions
- Resolved
-
JDK-8326427 JDK-8294427 breaks Windows L&F on all older Windows versions
- Resolved
-
JDK-8326695 JDK-8294427 breaks Windows L&F on all older Windows versions
- Resolved
-
JDK-8326696 JDK-8294427 breaks Windows L&F on all older Windows versions
- Resolved
-
JDK-8326697 JDK-8294427 breaks Windows L&F on all older Windows versions
- Resolved
-
JDK-8332389 JDK-8294427 breaks Windows L&F on all older Windows versions
- Closed
- duplicates
-
JDK-8330162 Aero theming of Swing doesn't work in Java 17.0.10 on Windows Server 2016
- Closed
- relates to
-
JDK-8294427 Check boxes and radio buttons have rendering issues on Windows in High DPI env
- Resolved
- links to
-
Commit openjdk/jdk11u-dev/a60a5c43
-
Commit openjdk/jdk17u-dev/409d27bc
-
Commit openjdk/jdk21u-dev/1b7c5aff
-
Commit openjdk/jdk22u/160f6508
-
Commit openjdk/jdk/f695ca58
-
Review openjdk/jdk11u-dev/2466
-
Review openjdk/jdk17u-dev/2148
-
Review openjdk/jdk21u-dev/200
-
Review openjdk/jdk22u/25
-
Review openjdk/jdk/17173