On Wed, 18 May 2022 17:54:30 GMT, Alexey Ivanov <aiva...@openjdk.org> wrote:

>> Encapsulate the logic of adding or modifying a notification icon aka tray 
>> icon. This is to avoid code duplication between 
>> [`AwtTrayIcon::WmTaskbarCreated`](https://github.com/openjdk/jdk/blob/7b988b31c661c6e3e58cf8ced81732e40a79d4f5/src/java.desktop/windows/native/libawt/windows/awt_TrayIcon.cpp#L477)
>>  and 
>> [`AwtTrayIcon::_UpdateIcon`](https://github.com/openjdk/jdk/blob/7b988b31c661c6e3e58cf8ced81732e40a79d4f5/src/java.desktop/windows/native/libawt/windows/awt_TrayIcon.cpp#L796).
>> 
>> Separating adding and modifying the icon simplifies the methods, the actions 
>> are clearer: adding the icon requires sending `NIM_SETVERSION` message 
>> whereas modifying the icon doesn't.
>> 
>> To verify the code works as before, I used `TrayIconScalingTest.java`. I 
>> killed explorer.exe process to verify the notification icon gets added. 
>> Changing DPI of the main display updates the displayed icon as expected.
>
> Alexey Ivanov has updated the pull request incrementally with two additional 
> commits since the last revision:
> 
>  - Inline AddTrayIcon and ModifyTrayIcon
>  - Make SendTrayMessage private - it's used internally only

I replaced the calls to `SendTrayMessage(NIM_MODIFY)` with `ModifyTrayIcon()` 
for consistency and changed both `AddTrayIcon()` and `ModifyTrayIcon()` to 
inline methods which should remove an overhead of additional function call.

I also moved `SendTrayMessage` into private section of the class, it's used 
internally only.

-------------

PR: https://git.openjdk.java.net/jdk/pull/8749

Reply via email to