<AWT Dev>  JDK-8146537: TrayIcon Action Listener doesnt work in WIndows 10
shashidhara.veerabhadraiah at oracle.com
Tue Nov 28 05:16:04 UTC 2017
Hi Sergey, Here is the Webrev containing fixes for your comments.
Thanks and regards,
From: Sergey Bylokhov
Sent: Wednesday, November 22, 2017 4:31 AM
To: Shashidhara Veerabhadraiah <shashidhara.veerabhadraiah at oracle.com>; awt-dev at openjdk.java.net
Subject: Re:  JDK-8146537: TrayIcon Action Listener doesnt work in WIndows 10
On 20/11/2017 02:10, Shashidhara Veerabhadraiah wrote:
> Summary: The windows GetKeyState() api provides the key state of the
> requested key as of that instant by sampling the current thread's key
> messages from the message queue. Any misses either a thread ran faster
> or slower it is possible to miss the key messages. This is the problem
> that's happening under windows 10 wherein the key states are being
> null for the mouse button press. This problem is mentioned in the msdn
> as well. On the other hand, a tray icon message click produces
> NIN_BALLOONUSERCLICK event only upon the left mouse button click and
> hence there is no check required for the same.
The old code also request the state of the different keys like shift, control, etc. And after the fix we lose this information, probably we should apply it on top of the modifiers?
Another unclear thing is that we use
java_awt_event_InputEvent_BUTTON1_DOWN_MASK which is a mask for InputEvent as modifier for ActionEvent which does not have such mask.
Best regards, Sergey.
More information about the awt-dev