RFR: 8165749: java.lang.RuntimeException: dndGesture.dragboard is null in dragDrop [v2]
kcr at openjdk.java.net
Sat Jan 9 17:13:56 UTC 2021
On Sat, 9 Jan 2021 16:54:10 GMT, Jose Pereda <jpereda at openjdk.org> wrote:
>> As commented in the JBS issue, there is one single `dndGesture` object in `Scene`, that can be instantiated from three different ways:
>> - DropTargetListener, on dragEnter
>> - DragGestureListener, on dragGestureRecognized or
>> - MouseHandler, processing a right mouse click (these two are mutually exclusive).
>> This PR prevents that, for two almost simultaneous drag events (for instance via mouse and touchpad), the `dndGesture` for the last of these events gets initialized again, losing all existing drag info (`dndGesture.dragboard`) that was added to the first one, avoiding the RTE.
>> The existing manual test [DndTest](https://github.com/openjdk/jfx/blob/master/tests/manual/dnd/DndTest.java) has been used on MacOS to verify the PR.
> Jose Pereda has updated the pull request incrementally with one additional commit since the last revision:
> Avoid setting gestureStarted if there is a drag gesture in process
Marked as reviewed by kcr (Lead).
More information about the openjfx-dev