Hi Petr,

The fix looks good to me.

Note that AWT is a multi-threaded GUI toolkit, and since you don't use Swing APIs in your fix, you could eliminate all the invokeLater/invokeAndWait() calls from the tests to simplify them. But I don't insist on this. They should work fine as they are, too.

--
best regards,
Anthony

On 08/26/2013 07:08 PM, Petr Pchelko wrote:
Hello, AWT Team.

Please review the fix for the following issue:
http://bugs.sun.com/view_bug.do?bug_id=8012026
The fix is available at:
http://cr.openjdk.java.net/~pchelko/8012026/webrev.00/

MoiseInfoPeer.isWindowUnderMouse was implemented via the native peer method. 
This was a workaround for another issue:
if a new frame Popups under the mouse we did not get MouseEntered/Exited events 
for it. However, this issue was already resolved,
so the workaround is not needed any more.  The only problem was with inactive 
applications: we did not  get MouseEntered/Exited
for them, but this was also wrong, because on Windows and Linux we get mouse 
events for inactive apps. So, after the issue
with inactive apps was resolved (see AWTView.m) the workaround could be safely 
removed.

This fix resolves a number of bugs I've found for normal frames: the 
Component.getMousePosition did not pay attention to overlay windows
and so did not conform to the javadoc. And Component.getMousePosition works for 
applets now. There is a minor problem with applets though:
it reports null if the browser window is inactive. However, this is a 
limitation in NPAPI, so no workaround could be created.

Tested on Mac in Applet mode, with SWT_AWT bridge and for normal windows.

With best regards. Petr.

Reply via email to