RFR: 8372756: Mouse additional buttons and horizontal scrolling are broken on XWayland GNOME >= 47 after JDK-8351907

Alexander Zvegintsev azvegint at openjdk.org
Wed Dec 3 00:25:19 UTC 2025


The #25265 change introduced an artificial restriction that is actually unnecessary and harmful:

https://github.com/openjdk/jdk/blob/f5e4cd7f0d12fd21399b192b32a5c9abfe8a3564/src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java#L1526-L1529

> 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)

This changeset simply reverses the check, returning it to its original state.

The actual check for the supported mouse buttons for the robot is maintained here.

https://github.com/openjdk/jdk/blob/f5e4cd7f0d12fd21399b192b32a5c9abfe8a3564/src/java.desktop/share/classes/java/awt/Robot.java#L367-L371

https://github.com/openjdk/jdk/blob/f5e4cd7f0d12fd21399b192b32a5c9abfe8a3564/src/java.desktop/share/classes/java/awt/Robot.java#L208-L214

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

Commit messages:
 - 8372756: Mouse additional buttons and horizontal scrolling are broken on XWayland GNOME >= 47 after JDK-835190

Changes: https://git.openjdk.org/jdk/pull/28621/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28621&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8372756
  Stats: 23 lines in 1 file changed: 7 ins; 14 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/28621.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28621/head:pull/28621

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


More information about the client-libs-dev mailing list