On Fri, 8 Jan 2021 16:04:53 GMT, Kevin Rushforth <k...@openjdk.org> wrote:

>> This is really an edge case. There can be two gestures at once, an existing 
>> one (i.e from TouchPad), with its full drag information, that hasn't 
>> finished yet, and a new mouse one. 
>> 
>> Having a single `dndGesture` object for both events seems wrong. But having 
>> a list/array of events for such scenario seems overkill. 
>> 
>> Somehow some information from one or the other event might get lost or mixed 
>> up. The PDR targets are not required for the initial touch event, and we 
>> prevent the RTE, so I'd say this is a reasonable non-intrusive fix.
>
> In looking at it more closely, I think it might be better to avoid setting 
> `gestureStarted` if there is already a drag gesture in process (started via 
> dragEnter). Maybe something like this?
> 
>     if (Scene.this.dndGesture == null) {
>         //old gesture ended and new one started
>         gestureStarted = true;
>         if (!PLATFORM_DRAG_GESTURE_INITIATION) {
>             Scene.this.dndGesture = new DnDGesture();
>         }
>         clearPDREventTargets();
>     }

Makes sense, I'll change it, but avoiding two nested if expressions.

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

PR: https://git.openjdk.java.net/jfx/pull/372

Reply via email to