-
Type:
Bug
-
Resolution: Fixed
-
Priority:
P3
-
Affects Version/s: 17, 21, 25
-
Component/s: client-libs
-
Environment:
any GNOME >= 47 + XWayland
-
b27
-
generic
-
linux
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
|---|---|---|---|---|---|---|
| JDK-8373785 | 8u491 | Dmitry Markov | P3 | Resolved | Fixed | master |
| JDK-8373235 | 25.0.3-oracle | Dmitry Markov | P3 | Resolved | Fixed | master |
| JDK-8373851 | 25.0.3 | Goetz Lindenmaier | P3 | Resolved | Fixed | master |
| JDK-8373345 | 21.0.11-oracle | Dmitry Markov | P3 | Resolved | Fixed | master |
| JDK-8373857 | 21.0.11 | Goetz Lindenmaier | P3 | Resolved | Fixed | master |
| JDK-8373498 | 17.0.19-oracle | Dmitry Markov | P3 | Resolved | Fixed | master |
| JDK-8373859 | 17.0.19 | Goetz Lindenmaier | P3 | Resolved | Fixed | master |
| JDK-8373585 | 11.0.31-oracle | Dmitry Markov | P3 | Resolved | Fixed | master |
If you analyze the changes of src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java introduced in that patch, you realize that after some simplification the code performs the following:
if ( is-running-under-XWayland && is-running-under-gnome && gnome-version >= 47 ) {
numberOfButtons = 3;
// not asking the platform about the real number of buttons being supported
}
Trying to click any mouse additional button raises an exception like the following:
WARN - sun.awt.X11.XToolkit - Exception on Toolkit thread
java.lang.IllegalArgumentException: Nonexistent button 6
at java.desktop/java.awt.event.MouseEvent.<init>(MouseEvent.java:774)
at java.desktop/sun.awt.X11.XWindow.handleButtonPressRelease(XWindow.java:765)
at java.desktop/sun.awt.X11.XContentWindow.handleButtonPressRelease(XContentWindow.java:45)
at java.desktop/sun.awt.X11.XBaseWindow.dispatchEvent(XBaseWindow.java:1206)
at java.desktop/sun.awt.X11.XBaseWindow.dispatchToWindow(XBaseWindow.java:1178)
at java.desktop/sun.awt.X11.XToolkit.dispatchEvent(XToolkit.java:939)
at java.desktop/sun.awt.X11.XToolkit.run(XToolkit.java:1086)
at java.desktop/sun.awt.X11.XToolkit.run(XToolkit.java:968)
at java.base/java.lang.Thread.run(Thread.java:1583)
Workarounds
- Setting the following VM option: -Dawt.robot.screenshotMethod=x11
- backported by
-
JDK-8373235 Mouse additional buttons and horizontal scrolling are broken on XWayland GNOME >= 47 after JDK-8351907
-
- Resolved
-
-
JDK-8373345 Mouse additional buttons and horizontal scrolling are broken on XWayland GNOME >= 47 after JDK-8351907
-
- Resolved
-
-
JDK-8373498 Mouse additional buttons and horizontal scrolling are broken on XWayland GNOME >= 47 after JDK-8351907
-
- Resolved
-
-
JDK-8373585 Mouse additional buttons and horizontal scrolling are broken on XWayland GNOME >= 47 after JDK-8351907
-
- Resolved
-
-
JDK-8373785 Mouse additional buttons and horizontal scrolling are broken on XWayland GNOME >= 47 after JDK-8351907
-
- Resolved
-
-
JDK-8373851 Mouse additional buttons and horizontal scrolling are broken on XWayland GNOME >= 47 after JDK-8351907
-
- Resolved
-
-
JDK-8373857 Mouse additional buttons and horizontal scrolling are broken on XWayland GNOME >= 47 after JDK-8351907
-
- Resolved
-
-
JDK-8373859 Mouse additional buttons and horizontal scrolling are broken on XWayland GNOME >= 47 after JDK-8351907
-
- Resolved
-
- caused by
-
JDK-8351907 [XWayland] [OL10] Robot.mousePress() is delivered to wrong place
-
- Closed
-
- relates to
-
JDK-8357142 [XWayland] add extra mouse buttons support for remote desktop portal
-
- Open
-
- links to
-
Commit(master)
openjdk/jdk17u-dev/cc601068
-
Commit(master)
openjdk/jdk21u-dev/b549a103
-
Commit(master)
openjdk/jdk25u-dev/3bc8c9dd
-
Commit(master)
openjdk/jdk/db2cd1a4
-
Review(master)
openjdk/jdk17u-dev/4213
-
Review(master)
openjdk/jdk21u-dev/2517
-
Review(master)
openjdk/jdk25u-dev/81
-
Review(master)
openjdk/jdk/28621