RFR: JDK-8255439: System Tray icons get corrupted when windows scaling changes [v8]
Harshitha Onkar
duke at openjdk.java.net
Fri May 13 18:01:47 UTC 2022
> In Windows, when desktop scaling is changed the tray icons was distorted/blurred a bit each time scaling changes.
>
> With the proposed fix, the tray icon scales according to on-the-fly DPI scale settings. A test case has been added which adds a MRI icon to system tray, to observe the icon scaling when DPI is changed. Since the scale cannot be programmatically changed (for dynamic on-the-fly scale changes), I have used a manual test case to test this scenario.
>
> When DPI changes usually two messages are sent by windows -
>
> - [WM_DPICHANGED](https://docs.microsoft.com/en-us/windows/win32/hidpi/wm-dpichanged)
> - [WMPOSCHANGING](https://docs.microsoft.com/en-us/windows/win32/winmsg/wm-windowposchanging)
>
> I'm triggering an update on tray icons on receiving WMPOSCHANGING msg through the Tray icon's Window Procedure. Triggering an update on WM_DPICHANGED was still causing the icons to be distorted, hence WMPOSCHANGING is being used as the message to trigger the update.
Harshitha Onkar has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 11 additional commits since the last revision:
- Merge branch 'master' into WinTrayIcon
- reverted SystemTray changes
- new changes - trayicon update triggered in WmTaskbarCreated
- trayicon update triggered on taskbar reload
- test case exit issue fix
- formatting changes
- resized instruction window and formatted line lengths
- removed whitespaces error due to CRLF
- removed whitespace error
- added manual to test case
- ... and 1 more: https://git.openjdk.java.net/jdk/compare/9ac0120d...60391f28
-------------
Changes:
- all: https://git.openjdk.java.net/jdk/pull/8441/files
- new: https://git.openjdk.java.net/jdk/pull/8441/files/8f144b3b..60391f28
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=jdk&pr=8441&range=07
- incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=8441&range=06-07
Stats: 216539 lines in 2758 files changed: 164744 ins; 37288 del; 14507 mod
Patch: https://git.openjdk.java.net/jdk/pull/8441.diff
Fetch: git fetch https://git.openjdk.java.net/jdk pull/8441/head:pull/8441
PR: https://git.openjdk.java.net/jdk/pull/8441
More information about the client-libs-dev
mailing list