At first, I noticed bug4490179.java didn't release mouse button 1, which could 
affect the following tests.

I started looking at the test and updated it to use `CountDownLatch` instead of 
delays.

@azvegint handled releasing mouse button 1 in 
https://github.com/openjdk/jdk/pull/19339#discussion_r1609201116.

The updated version first verifies `mouseButton3Released` event is received and 
ensures `actionPerformed` is not received at this time.

Then mouse button is released; this should trigger two events: 
`mouseButton1Released` and `actionPerformed`. It is verified that these events 
are received.

I kept debugging prints, they help understanding which actions lead to which 
events.

The updated test reproduces the original, it is easily verified using Java 8; 
the updated test is stable in CI.


The `javax/swing/JButton/bug4490179.java` test is also modified in 
https://github.com/openjdk/jdk/pull/20861, @mrserb, could you take a look? I 
was going to suggested factoring out the changes to this test from #20861, yet 
I modified it myself. I realised it when I started creating the PR.

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

Commit messages:
 - 8341978: Improve JButton/bug4490179.java

Changes: https://git.openjdk.org/jdk/pull/21474/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21474&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8341978
  Stats: 88 lines in 1 file changed: 66 ins; 3 del; 19 mod
  Patch: https://git.openjdk.org/jdk/pull/21474.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21474/head:pull/21474

PR: https://git.openjdk.org/jdk/pull/21474

Reply via email to