[OpenJDK 2D-Dev] RFR: 8262446: DragAndDrop hangs on Windows

Sergey Bylokhov serb at openjdk.java.net
Fri Mar 5 01:36:43 UTC 2021


On Thu, 4 Mar 2021 19:38:34 GMT, Alexey Ivanov <aivanov at openjdk.org> wrote:

>> The IME functions and the DND operation must be executed on the toolkit thread. If the DND operation is in progress, the IME API is invoked via SendMessage() call inside InvokeInputMethodFunction() to avoid a hang. The flag isInDoDragDropLoop indicates whether the DND takes place or not. The flag works properly if the DND is performed between two Java windows. However if anything is dragged from native app, (e.g. Windows FileExplorer) to Java the flag is NOT set. That’s the root cause of the hang.
>> 
>> Fix:
>> Introduce a new flag to indicate DND operation between Java and native app. 
>> 
>> Testing:
>> mach5 green
>
> Marked as reviewed by aivanov (Reviewer).

Why we cannot reuse the old flag? "isInDoDragDropLoop"? I think the Robot.waitForIdle() will hang if isInDoDragDropLoop is not set to true while dragging something from the native app.

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

PR: https://git.openjdk.java.net/jdk/pull/2825


More information about the 2d-dev mailing list