-
Bug
-
Resolution: Fixed
-
P4
-
20, 21, 22
-
b04
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8321364 | 21.0.3-oracle | Manukumar V S | P4 | Resolved | Fixed | b01 |
JDK-8323143 | 21.0.3 | Goetz Lindenmaier | P4 | Resolved | Fixed | b01 |
JDK-8321378 | 17.0.11-oracle | Manukumar V S | P4 | Resolved | Fixed | b01 |
JDK-8324671 | 17.0.11 | Andrew Lu | P4 | Resolved | Fixed | b01 |
JDK-8321389 | 11.0.23-oracle | Manukumar V S | P4 | Resolved | Fixed | b01 |
JDK-8324669 | 11.0.23 | Andrew Lu | P4 | Resolved | Fixed | b01 |
JDK-8321455 | 8u411 | Manukumar V S | P4 | Resolved | Fixed | b01 |
didn't help and this test fails every time in CI the first time it is run.
It passes on re-run because in that case the preceding test is different.
And the preceding test on the first run is a somewhat similar test which just
uses a TableHeader but is dragging the headers around and uses a decorated window
The key is that leaves the cursor always in the same position
right around the where the final column of the table will be drawn in this test
That other test is javax/swing/JTableHeader/6884066/bug6884066.java
As a result when this test (bug6889007.java) is run on its own you see this (print the state each time, not just on error)
oldColumn -1 newColumn 0header.getCursor java.awt.Cursor[Default Cursor] cursor java.awt.Cursor[East Resize Cursor]
oldColumn 0 newColumn 1header.getCursor java.awt.Cursor[East Resize Cursor] cursor java.awt.Cursor[East Resize Cursor]
oldColumn 1 newColumn 2header.getCursor java.awt.Cursor[East Resize Cursor] cursor java.awt.Cursor[East Resize Cursor]
oldColumn 2 newColumn 3header.getCursor java.awt.Cursor[East Resize Cursor] cursor java.awt.Cursor[East Resize Cursor]
oldColumn 3 newColumn 4header.getCursor java.awt.Cursor[East Resize Cursor] cursor java.awt.Cursor[East Resize Cursor]
oldColumn 4 newColumn -1header.getCursor java.awt.Cursor[East Resize Cursor] cursor java.awt.Cursor[East Resize Cursor]
but when you run it after the decorated test - or by placing the mouse pointer at the exact place on the screen where column 4
will be rendered you see something like this
oldColumn -1 newColumn 4header.getCursor java.awt.Cursor[Default Cursor] cursor java.awt.Cursor[East Resize Cursor]
oldColumn 4 newColumn 0header.getCursor java.awt.Cursor[Default Cursor] cursor java.awt.Cursor[East Resize Cursor]
Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Wrong type of cursor!
at bug6889007$MyTableHeaderUI.rolloverColumnUpdated(bug6889007.java:125)
So if the mouse starts *anywhere* over the window then the test will fail.
The easy fix is to move the mouse to some other location first, or a bit trickier (but will also work on Wayland) is to see
if location is within this window before starting the movements and set a flag not to ignore the case when newColumn == 0
regardless of the value of oldColumn. Perhaps do both.
- backported by
-
JDK-8321364 [test bug] javax/swing/JTableHeader/6889007/bug6889007.java fails
- Resolved
-
JDK-8321378 [test bug] javax/swing/JTableHeader/6889007/bug6889007.java fails
- Resolved
-
JDK-8321389 [test bug] javax/swing/JTableHeader/6889007/bug6889007.java fails
- Resolved
-
JDK-8321455 [test bug] javax/swing/JTableHeader/6889007/bug6889007.java fails
- Resolved
-
JDK-8323143 [test bug] javax/swing/JTableHeader/6889007/bug6889007.java fails
- Resolved
-
JDK-8324669 [test bug] javax/swing/JTableHeader/6889007/bug6889007.java fails
- Resolved
-
JDK-8324671 [test bug] javax/swing/JTableHeader/6889007/bug6889007.java fails
- Resolved
- links to
-
Commit openjdk/jdk11u-dev/6e850f3f
-
Commit openjdk/jdk17u-dev/29044ee0
-
Commit openjdk/jdk21u-dev/e8aa37db
-
Commit openjdk/jdk/2cf5c2f4
-
Review openjdk/jdk11u-dev/2473
-
Review openjdk/jdk17u-dev/2158
-
Review openjdk/jdk21u-dev/112
-
Review openjdk/jdk/14527