<AWT Dev> <Awt Dev> [9] Review Request for 8132664: closed/javax/swing/DataTransfer/DefaultNoDrop/DefaultNoDrop.java locks on Windows

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Tue Sep 27 16:09:54 UTC 2016

On 04.08.15 14:54, Semyon Sadetsky wrote:
> On 8/3/2015 6:05 PM, Sergey Bylokhov wrote:
>> Hi, Semyon
>> Did you try to change dwMilliseconds from INFINITE to the timeout(10
>> seconds by default?) which is passed to the method? It does not help?
>> Because even when dnd is not used we should not wait event for
>> infinite time.
> It would not help to fix the issue because 10 seconds is too big
> interval. But for consistency it is not bad to have a time limit.
> http://cr.openjdk.java.net/~ssadetsky/8132664/webrev.01/

Looks fine. Please file separate issue that syncNativeQueue() should 
check that dnd callbacks are started/completed, because "(newEventNumber 
- eventNumber) > 2" check is useless if we are in the DND. And if some 
callbacks are in progress syncNativeQueue() should notify the java side 
that we should call syncNativeQueue() one more time.

>> On 03.08.15 17:26, Semyon Sadetsky wrote:
>>> Hello,
>>> Please review fix for JDK9:
>>> bug: https://bugs.openjdk.java.net/browse/JDK-8132664
>>> webrev: http://cr.openjdk.java.net/~ssadetsky/8132664/webrev.00/
>>> DoDragDrop() is blocking, so upon drag operation is triggered the
>>> toolkit thread is blocked and the WM_AWT_WAIT cannot be processed
>>> which in its turn blocks the AWT robot.
>>> The solution is to escape AWT robot waiting in syncNativeQueue() if
>>> drag operation is in progress.
>>> --Semyon

Best regards, Sergey.

More information about the awt-dev mailing list