JDK-8255439 : System Tray icons get corrupted when Windows scaling changes
  • Type: Bug
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 15,17,18,19
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_10
  • CPU: x86_64
  • Submitted: 2020-10-27
  • Updated: 2024-03-25
  • Resolved: 2022-05-18
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 17 JDK 19
11.0.17-oracleFixed 17.0.5-oracleFixed 19 b24Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Description
ADDITIONAL SYSTEM INFORMATION :
windows 10
java 15

A DESCRIPTION OF THE PROBLEM :
In Windows when you change desktop scaling the tray icons seem to blur a bit each time scaling changes.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Place icon in system tray in Java app.
Change scaling in Windows 10


EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Icons do not blur
ACTUAL -
Icons blur

---------- BEGIN SOURCE ----------
Any app with tray icon.
---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
Remove/re-add tray icon.


Comments
A pull request was submitted for review. URL: https://git.openjdk.org/jdk11u-dev/pull/1511 Date: 2022-11-10 12:02:41 +0000
10-11-2022

Fix request [11u,17u] I backport this for parity with 11.0.17-oracle,17.0.5-oracle. A smaller change in win only coding, limited risk. will only affect awt. Above mentioned changes are already backported. Clean backport. Test passes on win and fails without the fix. SAP nightly testing passes.
10-11-2022

A pull request was submitted for review. URL: https://git.openjdk.org/jdk17u-dev/pull/866 Date: 2022-11-09 18:24:48 +0000
09-11-2022

The test for this fix uses PassFailJFrame, the manual test framework, which was recently added. Backporting the fix requires backporting these two changesets: 1. JDK-8284535: Fix PrintLatinCJKTest.java test that is failing with Parse Exception 2. JDK-8283712: Create a manual test framework class 3. JDK-8283803: Remove jtreg tag manual=yesno for java/awt/print/PrinterJob/PrintGlyphVectorTest.java and fix test 4. JDK-8284898: Enhance PassFailJFrame The CRs are combined into pairs.
11-08-2022

Changeset: 8323787c Author: Harshitha Onkar <harshitha.onkar@oracle.com> Committer: Alexey Ivanov <aivanov@openjdk.org> Date: 2022-05-18 19:45:41 +0000 URL: https://git.openjdk.java.net/jdk/commit/8323787c07ced4fa8ce852995df4c0e2de4d7ccc
18-05-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk/pull/8441 Date: 2022-04-28 02:26:28 +0000
28-04-2022

There are two issues associated with trayicon issue 1. Scaling issue - which is fixed. 2. Timing issue - as multiple events are triggered on DPI change event the updation of the trayicon needs to be timed properly and triggered only when all WM_POSCHANGING events are done. Work is in progress for the timing issue.
08-04-2022

Yes, it is a simple fix for the HiDPI environment.
17-06-2021

[~serb]is it still a fix planned for 17? 18?
16-06-2021

Submitter replied with attached snapshot
02-11-2020

Mail to submitter: ============ Could you please share the screenshot of the issue.
27-10-2020