On Thu, 6 Apr 2023 23:50:26 GMT, Harshitha Onkar <[email protected]> wrote:

> This test issue was due to race condition that occured when using 
> `-Dsun.java2d.uiScale >= 2`.
> As a result it led to incorrect mouse position being compared as opposed to 
> the updated mouse position after the final mouse move event.
> 
> Following is the event log before and after fix.
> 
> **Before fix:**
> 
> 1st mouse move
> 2nd mouse move
> Frame-1 Mouse Event
> Frame-2 Mouse Event
> java.awt.Point[x=29,y=29]
> 
> 
> **After fix:**
> 
> 1st mouse move
> 2nd mouse move
> Frame-1 Mouse Event
> 3rd mouse move
> Frame-2 Mouse Event
> java.awt.Point[x=50,y=50]
> 
> 
> Earlier Frame-2's mouseMoved() was being triggered on Robot's 2nd mouse move 
> instead of 3rd mouse move. To fix it, the mouseMotionListener for Frame-2 is 
> now added after Robot's 2nd mouse move is processed to avoid the race 
> condition.
> 
> The updated test fix is checked on multiple uiScales including fractional 
> scales for windows platform.
> CI testing works as expected on all platforms.

test/jdk/java/awt/Mouse/GetMousePositionTest/GetMousePositionWithPopup.java 
line 113:

> 111:                 frame2.setBounds(120, 120, 120, 120);
> 112:                 frame2.setVisible(true);
> 113:             }

So are you confident the requested location will be honoured ?
I seem to remember a test framework fix in which you had to work quite hard to 
be sure of the real location.
And the implied "170-120=50" might be clearer if we had variables not just 
literal numbers ?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13380#discussion_r1160432986

Reply via email to