RFR: 8375070: NPE in Scene.ClickGenerator::preProcess when mouse button is none [v3]

Ambarish Rapte arapte at openjdk.org
Tue Jan 13 09:27:30 UTC 2026


On Mon, 12 Jan 2026 23:54:39 GMT, Christopher Schnick <duke at openjdk.org> wrote:

>> A straightforward fix to just include MouseButton.NONE in the click counter map in cases weird mouse button events are sent. Alternatively, these events could also be ignored/dropped at some point
>
> Christopher Schnick has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Preserve original logic even more

modules/javafx.graphics/src/main/java/javafx/scene/Scene.java line 3721:

> 3719:                 if (! e.isBackButtonDown()) { counters.get(MouseButton.BACK).clear(); }
> 3720:                 if (! e.isForwardButtonDown()) { counters.get(MouseButton.FORWARD).clear(); }
> 3721:                 if (cc != null) {

Instead of a null check, I would recommend to validate the MouseEvent **e**.
`counters` does not have an entry for `MouseButton.NONE`, instead of null check below check could fit better:
`if (e.getButton() == MouseButton.NONE) return;`

Looks like in this issue scenario this is true: `e.getButton() == MouseButton.NONE && e.getEventType() == MouseEvent.MOUSE_PRESSED`. It would be good to understand why this is happening?

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

PR Review Comment: https://git.openjdk.org/jfx/pull/2034#discussion_r2685595061


More information about the openjfx-dev mailing list